# Zend_Application_Bootstrap_BootstrapAbstract

`Zend_Application_Bootstrap_BootstrapAbstract` es una clase abstracta que proporciona la base funcional de un arranque (bootstrap) común. Implementa a ambos Zend_Application_Bootstrap_Bootstrapper y a `Zend_Application_Bootstrap_ResourceBootstrapper`.

## Métodos de Zend_Application_Bootstrap_BootstrapAbstract

Método | Valor de Retorno | Parámetros | Descripción
--- | --- | --- | ---

`__construct($application)`

`void`

- `$application`: requerido. Acepta tanto a `Zend_Application` o al objeto `Zend_Application_Bootstrap_Bootstrapper` como único argumento.

Constructor. Acepta un solo argumento, que debe ser un objeto `Zend_Application`, u otro objeto bootstrap.

`setOptions(array $options)`

`Zend_Application_Bootstrap_Bootstrapper`

- `$options`: requerido. Array de opciones a establecer.

Cualquier opción que tiene un setter concordante invocará ese setter; de lo contrario, la opción será simplemente almacenada para su recuperación posterior. Como ejemplo, si su clase extendida definió un método `setFoo()`, la opción 'foo' pasaría el valor a ese método.

También pueden usarse dos opciones especiales clave. pluginPaths puede ser utilizada para especificar prefijos de paths para los recursos plugin; debería ser un array de la clase pares prefijo/path. resources puede ser utilizada para especificar los recursos plugin a utilizar, y debería estar constituído por pares de opciones plugin recurso/instanciación.

`getOption()` | array | N/A | Devuelve todas las opciones registradas via `setOptions()`.

`hasOption($key)`

boolean

- `$key`: requerido. Clave de opción a probar.

Determinar si una opción clave está presente.

`getOption($key)`

mixed

- `$key`: requerido. Clave de opción para recuperar.

Recuperar el valor asociado con una opción clave; retorna `NULL` si ninguna opción está registrada con esa clave.

`setApplication(Zend_Application | Zend_Application_Bootstrap_Bootstrapper $application)`

`Zend_Application_Bootstrap_BootstrapAbstract`

- `$application`: requerido.

Registrar al objeto padre de la aplicación o en el bootstrap.

`getApplication()` | `Zend_Application | Zend_Application_Bootstrap_Bootstrapper` | N/A | Recuperar el objeto aplicación/bootstrap pasado via constructor.
`getEnvironment()` | string | N/A | Recuperar el string del entorno registrado con el objeto padre de la aplicación o del bootstrap.
`getClassResources()` | array | N/A | Recuperar una lista de los recursos inicializadores de nombres disponibles con los fueron definidos en la clase. Esto puede ser de implementación específica.
`getContainer()` | object | N/A | Recupera el contenedor que almacena recursos. Si no hay un contenedor actualmente registrado, registra una instancia Zend_Registry antes de retornarlo.

`setContainer($container)`

`Zend_Application_Bootstrap_BootstrapAbstract`

- `$container`, requerido. Un objeto en el cual almacenar recursos.

Proporciona un contenedor en el que se almacenan recursos. Cuando un método de recurso o plugin devuelve un valor, será almacenado en este contenedor para su recuperación posterior.

`hasResource($name)`

boolean

- `$name`, requerido. Nombre del recurso a comprobar.

Cuando un método de recurso o plugin devuelve un valor, será almacenado en el contenedor de recursos (ver `getContainer()` y `setContainer()`. Este método indicará si se ha establecido o no un valor para ese recurso.

`getResource($name)`

mixed

- `$name`, requerido. Nombre del recurso a recuperar.

Cuando un método de recurso o plugin devuelve un valor, será almacenado en el contenedor de recursos (ver `getContainer()` y `setContainer()`. Este método recuperará recursos del contenedor.

`bootstrap($resource = null)`

mixed

- `$resource`: opcional.

Si `$resource` está vacío, ejecutar todos los recursos del bootstrap. Si es un string, ejecutar ese único recurso; si es un array, ejecutar cada recurso del array.

Este método puede ser utilizado para ejecutar bootstraps individuales, ya hayan sido definidos en la propia clase o mediante clases de recursos de plugin. Un recurso definido en la clase será ejecutado en preferencia por sobre un recurso de plugin en el caso de conflicto de nombres.

`run()` | void | N/A | Define qué lógica de aplicación ejecutar luego del bootstrap.

`__call($method, $args)`

mixed

- `$method`: requerido. El nombre del método a llamar.

- `$args`: requerido. Array de argumentos para usar en el método de llamada.

Ofrece comodidad para bootstrapping de recursos individuales permitiéndole llamar 'bootstrap<ResourceName>()' en vez de usar el método `bootstrap()`.