# Zend_Application_Bootstrap_BootstrapAbstract

`Zend_Application_Bootstrap_BootstrapAbstract` ist eine abstrakte Klasse welche die Basisfunktionalität des normalen Bootstrappings bietet. Sie implementiert sowohl `Zend_Application_Bootstrap_Bootstrapper` als auch `Zend_Application_Bootstrap_ResourceBootstrapper`.

## Zend_Application_Bootstrap_BootstrapAbstract Methoden

Methode | Rückgabewert | Parameter | Beschreibung
--- | --- | --- | ---

`__construct($application)`

Void

- `$application`: Benötigt. Akzeptiert entweder ein `Zend_Application` oder ein `Zend_Application_Bootstrap_Bootstrapper` Objekt als sein einziges Argument.

Constructor. Akzeptiert ein einzelnes Argument, welches ein `Zend_Application` Objekt oder ein anderes Bootstrap Objekt sein sollte.

`setOptions(array $options)`

`Zend_Application_Bootstrap_Bootstrapper`

- `$options`: Benötigt. Array von Optionen die zu setzen sind.

Jede Option die einen passenden Setter hat wird diesen Setter aufrufen; andernfalls wird die Option einfach für ein späteres Empfangen gespeichert. Wenn die eigene Klasse, als Beispiel, eine `setFoo()` Methode definiert, würde die Option 'foo' als Wert an diese Methode übergeben werden.

Zwei zusätzliche, spezielle Options Schnüssel können auch verwendet werden. pluginPaths kann verwendet werden um einen Präfix Pfad zu Plugin Ressourcen zu spezifizieren; er solte ein Array von Klassenpräfix zu Instanziierungs Options Paaren sein. resources kann verwendet werden um eine Plugin Ressource zu spezifizieren die verwendet werden soll, und sollte aus Paaren von Plugin Ressource zu Instanziierungs Optionen bestehen.

`getOptions()` | Array | N/A | Gibt alle über `setOptions()` registrierten Optionen zurück.

`hasOption($key)`

Boolean

- `$key`: Benötigt. Optionsschlüssel der getestet werden soll.

Erkennt ob ein Optionsschlüssel vorhanden ist.

`getOption($key)`

Mixed

- `$key`: Benötigt. Optionsschlüssel der empfangen werden soll.

Empfängt den Wert der mit dem Optionsschlüssel verknüpft ist; gibt `NULL` zurück wenn keine Option mit diesem Schlüssel registriert wurde.

`setApplication(Zend_Application | Zend_Application_Bootstrap_Bootstrapper $application)`

`Zend_Application_Bootstrap_BootstrapAbstract`

- `$application`: Benötigt.

Registriert das Eltern-Anwendungs oder Bootstrap Objekt.

`getApplication()` | `Zend_Application` | `Zend_Application_Bootstrap_Bootstrapper` | N/A | Empfängt das Anwendungs oder Bootstrap Objekt das über den Konstruktor übergeben wurde.
`getEnvironment()` | String | N/A | Empfängt den Umgebungs String der mit dem Eltern-Anwendungs oder Bootstrap Objekt registriert wurde.
`getClassResources()` | Array | N/A | Empfängt eine Liste von vorhandenen Ressourcen Initialisierungsnamen die in der Klasse definiert sind. Das kann von der Implementierung abhängig sein.
`getContainer()` | Object | N/A | Empfängt den Container der die Ressourcen speichert. Wenn aktuell kein Container registriert ist, wird eine Instanz von Zend_Registry registriert bevor diese retourniert wird.

`setContainer($container)`

`Zend_Application_Bootstrap_BootstrapAbstract`

- `$container`, Benötigt. Ein Objekt in dem Ressourcen gespeichert werden.

Bietet einen Container in dem Ressourcen gespeichert werden. Wenn eine Ressourcen Methode oder ein Plugin einen Wert zurückgibt, wird dieser im Container gespeichert um später empfangen werden zu können.

`hasResource($name)`

Boolean

- `$name`, Benötigt. Name der Ressource die zu prüfen ist.

Wenn eine Ressourcen-Methode oder ein Plugin einen Wert zurückgibt, wird dieser im Ressourcen Container gespeichert (siehe `getContainer()` und `setContainer()`). Diese Methode zeigt ob ein Wert für dies Ressouce gesetzt wurde oder nicht.

`getResource($name)`

Mixed

- `$name`, Benötigt. Name der Ressource die geholt werden soll.

Wenn eine Ressourcen-Methode oder ein Plugin einen Wert zurückgibt, wird dieser im Ressourcen Container gespeichert (siehe `getContainer()` und `setContainer()`). Diese Methode gibt die Ressource vom Container zurück.

`bootstrap($resource = null)`

Mixed

- `$resource`: Optional.

Wenn `$resource` leer ist, werden alle Bootstrap Ressourcen ausgeführt. Wenn es ein String ist, wird diese einzelne Ressource ausgeführt; wenn es ein Array ist, wird jede Ressource in diesem Array ausgeführt.

Diese Methode kann verwendet werden um individuelle Bootstraps auszuführen die entweder in der Klasse selbst definiert sind, oder über eine Ressource Plugin Klasse. Eine Ressource die in der Klasse definert ist wird bevorzugt, vor einem Ressource Plugin, ausgeführt wenn ein Namenskonflikt besteht.

`run()` | Void | N/A | Definiert welche Anwendungslogik nach dem Bootstrapping ausgeführt wird.

`__call($method, $args)`

Mixed

- `$method`: Benötigt. Der Methodenname der ausgerufen werden soll.

- `$args`: Benötigt. Array von Argumenten die im Methodenausruf verwendet werden sollen.

Bietet einen einfachen Weg um individuelle Ressourcen zu Bootstrappen indem es erlaubt 'bootstrap<ResourceName>()' aufzurufen, anstatt das die `bootstrap()` Methode verwendet wird.