# Zend_Application_Bootstrap_BootstrapAbstract

`Zend_Application_Bootstrap_BootstrapAbstract` est une classe abstraite qui propose les fonctionnalités de base d'un bootstrap classique. Elle implémente à la fois `Zend_Application_Bootstrap_Bootstrapper` et `Zend_Application_Bootstrap_ResourceBootstrapper`.

## Méthodes de Zend_Application_Bootstrap_BootstrapAbstract

Méthode | Valeur de retour | Paramètres | Description
--- | --- | --- | ---

`__construct($application)`

Void

- `$application` : requis. Accepte un objet `Zend_Application` ou `Zend_Application_Bootstrap_Bootstrapper`

Constructeur. Accepte un seul argument de type `Zend_Application`, ou un autre objet bootstrap.

`setOptions(array $options)`

`Zend_Application_Bootstrap_Bootstrapper`

- `$options` : requis. Tableau d'options à configurer.

Toute option possédant un setter l'invoquera, sinon l'option sera stockée pour une utilisation ultérieure. Par exemple, si votre classe fille définit une méthode `setFoo()`, l'option 'foo' passera sa valeur à cette méthode.

Deux options supplémentaires spéciales peuvent aussi être utilisée. pluginPaths spécifie des préfixes de chemin vers les plugins ; on attend ici un tableau de paires préfixes, chemins. resources permet de spécifier un plugin à utiliser.

`getOptions()` | Array | N/A | Retourne toutes les options enregistrées via `setOptions()`.

`hasOption($key)`

Boolean

- `$key` : requis. Option dont on veut tester la présence.

Détermine si une option est présente.

`getOption($key)`

Mixed

- `$key`: requis. Option à récupérer.

Récupère la valeur de l'option associée à la clé passée comme paramètre retourne `NULL` si aucune option n'est enregistrée avec cette clé.

`setApplication(Zend_Application | Zend_Application_Bootstrap_Bootstrapper $application)`

`Zend_Application_Bootstrap_BootstrapAbstract`

- `$application` : requis.

Enregistre l'objet application parent, ou un objet de bootstrap.

`getApplication()` | `Zend_Application` | `Zend_Application_Bootstrap_Bootstrapper` | N/A | Récupère l'objet application ou bootstrap passé par le constructeur.
`getEnvironment()` | String | N/A | Récupère l'environnement (chaîne) enregistré dans l'objet parent, application ou bootstrap.
`getClassResources()` | Array | N/A | Récupère la liste des noms des chargeurs de ressources définis dans la classe. Spécifique à l'implémentation.
`getContainer()` | Object | N/A | Récupère le conteneur stockant les ressources. Si aucun conteneur n'est spécifié, un objet Zend_Registry sera crée pour cet usage, puis retourné.

`setContainer($container)`

`Zend_Application_Bootstrap_BootstrapAbstract`

- `$container`, requis. Un objet dans lequel stocker les ressources.

Définit un conteneur mémorisant les ressources. Lorsqu'une ressource est demandée, elle est chargée puis stocker dans ce conteneur pour être retournée lors des prochains appels.

`hasResource($name)`

Boolean

- `$name`, requis. Nom de la ressource dont on veut vérifier la présence.

Lorsqu'une ressource est demandée (retournée par une méthode ou un plugin), elle est stockée dans un objet conteneur (voyez `getContainer()` et `setContainer()`.) Cette méthode interroge le conteneur pour savoir si une ressource y est présente.

`getResource($name)`

Mixed

- `$name`, requis. Nom de la ressource à récupérer

Lorsqu'une ressource est demandée (retournée par une méthode ou un plugin), elle est stockée dans un objet conteneur (voyez `getContainer()` et `setContainer()`.) Cette méthode récupère une ressource depuis le conteneur.

`bootstrap($resource = null)`

Mixed

- `$resource`: optionnel.

Si `$resource` est vide, charge toutes les ressources (bootstrap). Si une chaîne est passée, charge uniquement la ressource demandée. Enfin si un tableau est passé, charge les ressources nommées dans ce tableau.

Cette méthode peut être utilisée pour déclencher le chargement d'une ressource, définit sous forme de méthode ou de plugin (c'est égal). Attention si vous spécifiez à la fois une méthode et un plugin pour une même ressource, alors la méthode sera préférée comme bootstrap, le plugin sera ignoré.

`run()` | Void | N/A | Définit la logique applicative à lancer après le bootstrap (la configuration)

`__call($method, $args)`

Mixed

- `$method` : requis. Nom de la méthode appelée

- `$args` : requis. Tableau d'arguments d'invocation pour la méthode.

Propose une interface agréable pour configurer (bootstrap) des ressources individuelles en appelant 'bootstrap<NomDeLaRessource>()' à la place de `bootstrap()`.