Aquí encontrará documentación del tipo
API
acerca de todos los
componentes básicos de
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.
Tabla 2. Zend_Application options
Option | Description |
---|---|
phpSettings |
Array of
|
includePaths |
Additional paths to prepend to the include_path . Should be an array of paths. |
autoloaderNamespaces |
Array of additional namespaces to register with the
|
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.
Tabla 3. Métodos de Zend_Application
Método | Valor de Retorno | Parámetros | Descripción | |
---|---|---|---|---|
__construct($environment, $options = null)
|
Void |
|
Constructor. Los argumentos son como se describe,
y será utilizado para establecer el estado incial del
objeto. Una instancia de
|
|
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
|
|
setOptions(array $options)
|
Zend_Application
|
|
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
|
|
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
|
|
hasOption($key)
|
Boolean |
|
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 |
|
Recuperar el valor de la opción de una clave dada.
Retorna
|
|
setPhpSettings(array $settings, $prefix = '')
|
Zend_Application
|
|
Establece un conjunto de ajustaes en
|
|
setAutoloaderNamespaces(array $namespaces)
|
Zend_Application
|
|
Registra los namespaces con la instancia
|
|
setBootstrap($path, $class = null)
|
Zend_Application
|
|
||
getBootstrap()
|
NULL |
Zend_Application_Bootstrap_Bootstrapper
|
N/A |
Recuperar la instancia del bootstrap registrado. |
|
bootstrap()
|
void | N/A |
Llamar al método
|
|
run()
|
void | N/A |
Llamar al método
|
Zend_Application_Bootstrap_Bootstrapper
es la
interfaz base que deben implementar todas clases bootstrap.
Las funcionalidades de base
están encaminadan a la configuración,
identificación de los recursos, bootstraping (ya sea de
los recursos
individuales o de toda la aplicación), y de despachar la aplicación.
Los siguientes métodos conforman la definición de la interfaz.
Tabla 4. Zend_Application_Bootstrap_Bootstrapper Interface
Método | Valor Retornado | Parámetros | Descripción |
---|---|---|---|
__construct($application)
|
void |
|
Constructor. Acepta un solo argumento, que debe ser un
objeto
|
setOptions(array $options)
|
Zend_Application_Bootstrap_Bootstrapper
|
|
Típicamente, 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. |
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 medio ambiente 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 que fueron definidos en la clase. Esto puede ser de implementación específica. |
bootstrap($resource = null)
|
Mixed |
|
Si
|
run()
|
void | N/A |
Define qué lógica de aplicación ejecutar luego del bootstrap. |
Zend_Application_Bootstrap_ResourceBootstrapper
es una
interfaz para usar cuando una clase de arranque cargará recursos
externos -- por
ejemplo, uno o más recursos no se definirán
directamente en la clase, sino más bien via
plugins.
Debe ser utilizado en conjunción con
Zend_Application_Bootstrap_Bootstrapper
;
Zend_Application_Bootstrap_BootstrapAbstract
que implementan esta funcionalidad.
Los siguientes métodos conforman la definición de la interfaz.
Tabla 5. Zend_Application_Bootstrap_ResourceBootstrapper Interface
Método | Valor de Retorno | Parámetros | Descripción |
---|---|---|---|
registerPluginResource($resource, $options =
null)
|
Zend_Application_Bootstrap_ResourceBootstrapper
|
|
Registre un recurso con la clase, proporcionando configuración opcional para pasar al recurso. |
unregisterPluginResource($resource)
|
Zend_Application_Bootstrap_ResourceBootstrapper
|
|
Eliminar un recurso de plugin de la clase. |
hasPluginResource($resource)
|
Boolean |
|
Determinar si un recurso específico se ha registrado en la clase. |
getPluginResource($resource)
|
Zend_Application_Resource_Resource
|
|
Recuperar una instacia de un recurso de plugin por su nombre. |
getPluginResourceNames()
|
Array | N/A |
Recuperar una lista de todos los nombres de recursos de plugin registrados. |
setPluginLoader(Zend_Loader_PluginLoader_Interface
$loader)
|
Zend_Application_Bootstrap_ResourceBootstrapper
|
|
Registre una instancia del cargador de plugin para utilizar cuando se resuelven nombres de clases de plugin. |
getPluginLoader()
|
Zend_Loader_PluginLoader_Interface
|
N/A |
Recuperar el cargador de plugin registrado. |
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
.
Tabla 6. Métodos de Zend_Application_Bootstrap_BootstrapAbstract
Método | Valor de Retorno | Parámetros | Descripción |
---|---|---|---|
__construct($application)
|
void |
|
Constructor. Acepta un solo argumento, que debe ser un
objeto
|
setOptions(array $options)
|
Zend_Application_Bootstrap_Bootstrapper
|
|
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
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. |
getOptions()
|
array | N/A |
Devuelve todas las opciones registradas via
|
hasOption($key)
|
boolean |
|
Determinar si una opción clave está presente. |
getOption($key)
|
mixed |
|
Recuperar el valor asociado con una opción clave;
retorna
|
setApplication(Zend_Application |
Zend_Application_Bootstrap_Bootstrapper $application)
|
Zend_Application_Bootstrap_BootstrapAbstract
|
|
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
|
|
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 |
|
Cuando un método de recurso o plugin devuelve un valor,
será almacenado en el contenedor de recursos (ver
|
getResource($name)
|
mixed |
|
Cuando un método de recurso o plugin devuelve un valor,
será almacenado en el contenedor de recursos (ver
|
bootstrap($resource = null)
|
mixed |
|
Si
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 |
|
Ofrece comodidad para bootstrapping de recursos
individuales permitiéndole llamar
'bootstrap<ResourceName>()' en vez de usar el
método
|
Zend_Application_Bootstrap_Bootstrap
es una implementación concreta
de
Zend_Application_Bootstrap_BootstrapAbstract
. Su principal característica es que
registra el
recurso
Front Controller
, y que el método
run()
primero
comprueba esté definido un módulo por defecto y luego despacha el front controller.
En muchos casos, usted quisiera extender esta clase por sus necesidades de bootstrapping, o simplemente utilizar esta clase y proporcionar una lista de los plugins de recursos a utilizar.
Additionally, this bootstrap implementation provides the ability to specify the "namespace" or class prefix for resources located in its tree, which will enable autoloading of various application resources; essentially, it instantiates a Zend_Application_Module_Autoloader object, providing the requested namespace and the bootstrap's directory as arguments. You may enable this functionality by providing a namespace to the "appnamespace" configuration option. As an INI Ejemplo:
appnamespace = "Application"
O en XML :
<appnamespace>Application</appnamespace>
By default,
Zend_Tool
will enable this option with the value
"Application".
Alternately, you can simply define the
$_appNamespace
property of your
bootstrap class with the appropriate value:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected $_appNamespace = 'Application'; }
Zend_Application_Resource_Resource
es una
interfaz para recursos de plugin utilizados con clases bootstrap implementando
Zend_Application_Bootstrap_ResourceBootstrapper
.
Se espera que los recursos de plugins permitan la configuración,
estar enterados del
bootstrap, y aplicar un patrón de estrategia para la
inicialización de recursos.
Tabla 7. Zend_Application_Resource_Resource Interface
Método | Valor de Retorno | Parámetros | Descripción |
---|---|---|---|
__construct($options = null)
|
Void |
|
El constructor debería permitir pasar opciones con las cuales inicializar el estado. |
setBootstrap(Zend_Application_Bootstrap_Bootstrapper $bootstrap)
|
Zend_Application_Resource_Resource
|
|
Debería permitir registrar el objeto padre del bootstrap. |
getBootstrap()
|
Zend_Application_Bootstrap_Bootstrapper
|
N/A |
Recuperar la instancia del bootstrap registrado. |
setOptions(array $options)
|
Zend_Application_Resource_Resource
|
|
Establecer el estado del recurso. |
getOptions()
|
Array | N/A |
Recuperar opciones registradas. |
init()
|
Mixed | N/A |
Patrón de estrategia: ejecute inicialización de los recursos. |
Zend_Application_Resource_ResourceAbstract
es una clase abstracta
implementando
Zend_Application_Resource_Resource
,
y es un buen punto de partida para crear sus propios recursos de plugin
personalizados.
Nota: esta clase abstracta no implementa el método
init()
;
esto se deja para la definición de extensiones concretas de la clase.
Tabla 8. Zend_Application_Resource_ResourceAbstract Methods
Método | Valor de Retorno | Parámetros | Descripción |
---|---|---|---|
__construct($options = null)
|
Void |
|
El constructor debería permitir pasar opciones con las cuales inicializar el estado. |
setBootstrap(Zend_Application_Bootstrap_Bootstrapper $bootstrap)
|
Zend_Application_Resource_ResourceAbstract
|
|
Debería permitir registrar el objeto padre del bootstrap. |
getBootstrap()
|
Zend_Application_Bootstrap_Bootstrapper
|
N/A |
Recuperar la instancia registrada del bootstrap. |
setOptions(array $options)
|
Zend_Application_Resource_ResourceAbstract
|
|
Establecer el estado del recurso. |
getOptions()
|
Array | N/A |
Recuperar opciones registradas. |
When registering plugin resources, one issue that arises is how you should refer to them from the parent bootstrap class. There are three different mechanisms that may be used, depending on how you have configured the bootstrap and its plugin resources.
First, if your plugins are defined within a defined prefix path, you
may refer to them
simply by their "short name" -- i.e., the portion
of the class name following the class
prefix. As an example, the
class "
Zend_Application_Resource_View
" may be referenced as
simply "View", as the prefix path "
Zend_Application_Resource
"
is already registered. You may register them using the full class name or the
short
name:
$app = new Zend_Application(APPLICATION_ENV, array( 'pluginPaths' => array( 'My_Resource' => 'My/Resource/', ), 'resources' => array( // if the following class exists: 'My_Resource_View' => array(), // then this is equivalent: 'View' => array(), ), ));
In each case, you can then bootstrap the resource and retrieve it later using the short name:
$bootstrap->bootstrap('view'); $view = $bootstrap->getResource('view');
Second, if no matching plugin path is defined, you may still pass a resource by the full class name. In this case, you can reference it using the resource's full class name:
$app = new Zend_Application(APPLICATION_ENV, array( 'resources' => array( // This will load the standard 'View' resource: 'View' => array(), // While this loads a resource with a specific class name: 'My_Resource_View' => array(), ), ));
Obviously, this makes referencing the resource much more verbose:
$bootstrap->bootstrap('My_Resource_View'); $view = $bootstrap->getResource('My_Resource_View');
This brings us to the third option. You can specify an explicit name
that a given
resource class will register as. This can be done by
adding a public
$_explicitType
property to the resource
plugin class, with a string value; that value will then be used
whenever you wish to reference the plugin resource via the
bootstrap. As an example,
let's define our own view class:
class My_Resource_View extends Zend_Application_Resource_ResourceAbstract { public $_explicitType = 'My_View'; public function init() { // do some initialization... } }
We can then bootstrap that resource or retrieve it by the name
"
My_View
":
$bootstrap->bootstrap('My_View'); $view = $bootstrap->getResource('My_View');
Using these various naming approaches, you can override existing resources, add your own, mix multiple resources to achieve complex initialization, and more.