| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 18178 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.application.available-resources.modules">
- <title>Zend_Application_Resource_Modules</title>
- <para>
- <classname>Zend_Application_Resource_Modules</classname>
- se utiliza
- para inicializar sus módulos de aplicación. Si su módulo tiene un
- archivo
- <filename>Bootstrap.php</filename>
- en su raíz, y contiene una clase
- llamada
- <classname>Module_Bootstrap</classname>
- (donde "Module" es el nombre del
- módulo), entonces usará esa clase para arrancar el módulo.
- </para>
- <para>
- Por defecto, se creará una instancia de
- <classname>Zend_Application_Module_Autoloader</classname>
- para el
- módulo, utilizando el nombre del módulo y del directorio para
- inicializarlo.
- </para>
- <para>
- Ya que los módulos no reciben ningún parámetro por defecto, para poder activarlos via
- configuración,
- será necesario crearlo como un array vacío. Seguiendo el estilo de
- configuración
- <acronim>INI</acronim>
- será similar a:
- </para>
- <programlisting language="ini"><![CDATA[resources.modules[] =]]></programlisting>
- <para>
- Siguiendo el estilo de configuración
- <acronym>XML</acronym>
- será similar a:
- </para>
- <programlisting language="xml"><![CDATA[
- <resources>
- <modules>
- <!-- Placeholder to ensure an array is created -->
- <placeholder />
- </modules>
- </resources>
- ]]></programlisting>
- <para>
- Utilizando un array
- <acronym>PHP</acronym>
- estandar, simplemente creelo como un array vacío:
- </para>
- <programlisting language="php"><![CDATA[
- $options = array(
- 'resources' => array(
- 'modules' => array(),
- ),
- );
- ]]></programlisting>
- <note>
- <title>Dependencia de Recursos del Front Controller</title>
- <para>
- El recurso Modules tiene una dependencia de
- <link linkend="zend.application.available-resources.frontcontroller">
- Front Controller resource</link>
- . Usted puede, por supuesto,
- proporcionar su propia sustitución de ese recurso mediante
- un
- recurso personalizado de la clase Front Controller o un método
- inicializador de la
- clase -- tan largo como se quiera siempre que
- el plugin del recurso de la clase termine
- en "Frontcontroller"
- o el método inicializador se llame "_initFrontController"
- (case
- insensible).
- </para>
- </note>
- <example id="zend.application.available-resources.modules.configExample">
- <title>Configurando Módulos</title>
- <para>
- Usted puede especificar una configuración específica de un módulo
- utilizando el nombre
- del módulo como un prefijo/sub-sección en su
- archivo de configuración.
- </para>
- <para>
- Por ejemplo, supongamos que su aplicación tiene un módulo "noticias".
- Los siguientes son
- ejemplos de
- <acronym>INI</acronym>
- y
- <acronym>XML</acronym>
- que muestran la
- configuración de recursos en ese módulo.
- </para>
- <programlisting language="ini"><![CDATA[
- [production]
- news.resources.db.adapter = "pdo_mysql"
- news.resources.db.params.host = "localhost"
- news.resources.db.params.username = "webuser"
- news.resources.db.params.password = "XXXXXXX"
- news.resources.db.params.dbname = "news"
- news.resources.layout.layout = "news"
- ]]></programlisting>
- <programlisting language="xml"><![CDATA[
- <?xml version="1.0"?>
- <config>
- <production>
- <news>
- <resources>
- <db>
- <adapter>pdo_mysql</adapter>
- <params>
- <host>localhost</host>
- <username>webuser</username>
- <password>XXXXXXX</password>
- <dbname>news</dbname>
- </params>
- <isDefaultAdapter>true</isDefaultAdapter>
- </db>
- </resources>
- </news>
- </production>
- </config>
- ]]></programlisting>
- </example>
- <example id="zend.application.available-resources.modules.retrieveBootstrapExample">
- <title>Recuperando el bootstrap de un módulo específico</title>
- <para>
- En ocasiones, puede que necesite para recuperar el objeto bootstrap
- de un módulo
- específico -- tal vez para ejecutar discretos
- métodos bootstrap ,o a recoger el cargador
- automático con el fin de
- configurarlo. Esto puede hacerse utilizando el método
- <methodname>getExecutedBootstraps()</methodname>
- de los recursos de Módulo.
- </para>
- <programlisting language="php"><![CDATA[
- $resource = $bootstrap->getPluginResource('modules');
- $moduleBootstraps = $resource->getExecutedBootstraps();
- $newsBootstrap = $moduleBootstraps['news'];
- ]]></programlisting>
- </example>
- </sect2>
|