# Zend_Application

`Zend_Application` proporciona la funcionalidad básica del componente, y el punto de entrada a su aplicación Zend Framework. Su propósito es doble: para configurar el medio ambiente PHP (incluyendo autocarga), y ejecutar su aplicación bootstrap.

## Zend_Application options

Option | Description
--- | ---
phpSettings | Array of `php.ini` settings to use. Keys should be the `php.ini` keys.
includePaths | Additional paths to prepend to the include_path . Should be an array of paths.
autoloaderNamespaces | Array of additional namespaces to register with the `Zend_Loader_Autoloader` instance.
bootstrap | Either the string path to the bootstrap class, or an array with elements for the 'path' and 'class' for the application bootstrap.

## Option names

Please note that option names are case insensitive.

Típicamente, pasará toda la configuración al constructor `Zend_Application` , pero también puede configurar totalmente el objeto utilizando sus propios métodos. En esta referencia se ilustran ambos casos de uso.

## Métodos de Zend_Application

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

`__construct($environment, $options = null)`

Void

- `$environment` : requerido ,. String que representa el actual entorno de aplicación. Strings típicos podrían incluir "desarrollo", "pruebas", "qa", o "producción", pero será definido por sus requisitos organizacionales.

- `$options` : opcional . El argumento puede ser uno de los siguientes valores:

  - String : path al archivo `Zend_Config` para cargarlo como donfiguración de su aplicación. `$environment` se utilizará para determinar qué sección de la configuración se traerá.

    As of 1.10, you may also pass multiple paths containing config files to be merged into a single configuration. This assists in reducing config duplication across many contexts which share common settings (e.g. configs for HTTP, or CLI, each sharing some characteristics but with their own conflicting values for others) or merely splitting a long configuration across many smaller categorised files. The parameter in this case is an array with a single key "configs" whose value is an array of the files to merge. Note: this means you either pass a literal path, or `array("configs"=>array("/path1","/path2"[,...]));`.

  - Array : array asociativo de datos de configuración para su aplicación.

  - `Zend_Config` : instancia del objeto de configuración.

Constructor. Los argumentos son como se describe, y será utilizado para establecer el estado incial del objeto. Una instancia de `Zend_Loader_Autoloader` es registrada durante la instanciación. Las opciones pasadas al onstructor se pasan a `setOptions()` .

`getEnvironment()` | String | N/A | Recuperar el string del medio ambiente que se pasó al constructor.
`getAutoloader()` | `Zend_Loader_Autoloader` | N/A | Recuperar la instancia de `Zend_Loader_Autoloader` registrados durante la instanciación.

`setOptions(array $options)`

`Zend_Application`

- `$options` : requerido . Un array de opciones de aplicación.

Todas las opciones se almacenan internamente, y llamando al método varias veces las opciones se fusionarán. Las opciones concordantes con los diversos métodos setter se pasarán a esos métodos. Como ejemplo, la opción "phpSettings" será pasada a `setPhpSettings()` . (Los nombres de opciones son indiferentes a mayúsculas/ minúsculas.)

`getOptions()` |  | array | N/A | Recuperar todas las opciones usadas para inicializar el objeto; podría ser utilizada para guardar en cache a través de `Zend_Config` las opciones para serializar un formato entre reqerimientos.

`hasOption($key)`

Boolean

- `$key` : String opcional de la clave de lookup

Determinar si una opción con la clave ha sido registrada o no. Las claves son indiferentes a mayúsculas/ minúsculas.

`getOption($key)`

mixed

- `$key` : String opcional de la clave de lookup

Recuperar el valor de la opción de una clave dada. Retorna `NULL` si la clave no existe.

`setPhpSettings(array $settings, $prefix = '')`

`Zend_Application`

- `$settings` : requerido . Array asociativo en los settings de PHP INI .

- `$prefix` : opcional . Prefijo de tipo string para anteponer a la opción claves. Usado internamente para permitir el mapping anidado de matrices separados por puntos en las claves de `php.ini` . En el uso normal, este argumento nunca debe ser pasado por un usuario.

Establece un conjunto de ajustaes en `php.ini` . para run-time. Las configuraciones separadas por punto pueden ser anidadas jerárquicamente (lo que puede ocurrir con los archivos INI `Zend_Config` ) mediante un array de de arrays, y aún resolver correctamente.

`setAutoloaderNamespaces(array $namespaces)`

`Zend_Application`

- `$namespaces` : requerido . Array de strings representando los namespaces a registrar con la instancia `Zend_Loader_Autoloader` .

Registra los namespaces con la instancia `Zend_Loader_Autoloader` .

`setBootstrap($path, $class = null)`

`Zend_Application`

- `$path` :: requerido . Puede ser tanto una instancia de `Zend_Application_Bootstrap_Bootstrapper` , un string del path a la clase bootstrap, un arrray asociativo de classname =>nombre_de_archivo, o un array asociativo con las claves 'class' y 'path'.

- `$class` : opcional . Si `$path` : es un string, entonces `$class` puede ser especificado, y debe ser el string nombre de clase de la clase contenida en el archivo representado por path.

`getBootstrap()` | `NULL` | `Zend_Application_Bootstrap_Bootstrapper` | N/A | Recuperar la instancia del bootstrap registrado.
`bootstrap()` | void | N/A | Llamar al método `bootstrap()` para cargar la aplicación.
`run()` | void | N/A | Llamar al método `run()` del bootstrap para despachar la aplicación.