TigerZF
🌐Español

14.6. Plugins de recursos disponibles

Aquí encontrará documentación de tipo API sobre todos los plugins de recursos disponibles por defecto en Zend_Application.

14.6.1. Zend_Application_Resource_Cachemanager

Zend_Application_Resource_Cachemanager puede utilizarse para configurar un conjunto de paquetes de opciones de Zend_Cache para su uso al cargar cachés de forma diferida (lazy loading) mediante Zend_Cache_Manager

Como el Cache Manager es un mecanismo de carga diferida, las opciones se traducen a plantillas de opciones utilizadas para instanciar un objeto de caché bajo demanda.

Ejemplo 14.1. Ejemplo de configuración del recurso Cachemanager

A continuación se muestra un archivo INI de ejemplo que muestra cómo puede configurarse Zend_Cache_Manager. El formato es el prefijo del recurso Cachemanager (resources.cachemanager) seguido del nombre que se asignará a una plantilla o paquete de opciones de caché (p. ej. resources.cachemanager.database) y finalmente seguido de una opción típica de Zend_Cache.

resources.cachemanager.database.frontend.name = Core
resources.cachemanager.database.frontend.customFrontendNaming = false
resources.cachemanager.database.frontend.options.lifetime = 7200
resources.cachemanager.database.frontend.options.automatic_serialization = true
resources.cachemanager.database.backend.name = File
resources.cachemanager.database.backend.customBackendNaming = false
resources.cachemanager.database.backend.options.cache_dir = "/path/to/cache"
resources.cachemanager.database.frontendBackendAutoload = false

Obtener esta caché desde el Cache Manager es tan sencillo como acceder a una instancia del Manager (Zend_Cache_Manager) recuperada desde Zend_Application_Resource_Cachemanager y llamando a Zend_Cache_Manager::getCache('database'). El ejemplo siguiente está tomado de un controlador donde se puede acceder a la clase bootstrap como un parámetro del Front Controller (que se asigna automáticamente durante el arranque). Como puede ver, el recurso Cache Manager implementa un método getCacheManager() para recuperar la instancia arrancada de Zend_Cache_Manager.

$manager = $this->getFrontController()
            ->getParam('bootstrap')
            ->getPluginResource('cachemanager')
            ->getCacheManager();
$dbCache = $manager->getCache('database');

Consulte el método Zend_Cache::factory() para obtener una descripción de los valores por defecto que puede asignar al configurar una caché mediante un archivo de configuración como nuestro archivo INI de ejemplo anterior.


14.6.2. Zend_Application_Resource_Db

Zend_Application_Resource_Db inicializará un adaptador de Zend_Db según las opciones que se le pasen. Por defecto, también establece el adaptador como el adaptador por defecto para su uso con Zend_Db_Table. Si desea usar múltiples bases de datos simultáneamente, puede utilizar el plugin de recursos Multidb.

Se reconocen las siguientes claves de configuración:

  • adapter: tipo de adaptador de Zend_Db.

  • params: array asociativo de parámetros de configuración que se usarán al recuperar la instancia del adaptador.

  • isDefaultTableAdapter: si se debe establecer o no este adaptador como el adaptador de tabla por defecto.

  • defaultMetadataCache: el nombre de la plantilla de caché o una instancia de Zend_Cache_Core que se usará como caché de metadatos para Zend_Db_Table.

Ejemplo 14.2. Ejemplo de configuración del recurso adaptador de BD

A continuación se muestra una configuración INI de ejemplo que puede usarse para inicializar el recurso DB.

[production]
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "webuser"
resources.db.params.password = "XXXXXXX"
resources.db.params.dbname = "test"
resources.db.isDefaultTableAdapter = true

; Opcionalmente también puede usar la plantilla de caché para el cacheo de metadatos:
resources.db.defaultMetadataCache = "database"

[Note] Recuperar la instancia del adaptador

Si decide no convertir el adaptador instanciado con este recurso en el adaptador de tabla por defecto, ¿cómo recupera la instancia del adaptador?

Como con cualquier plugin de recursos, puede obtener el plugin de recurso DB desde su bootstrap:

$resource = $bootstrap->getPluginResource('db');

Una vez que tenga el objeto del recurso, puede obtener el adaptador DB usando el método getDbAdapter():

$db = $resource->getDbAdapter();

14.6.3. Zend_Application_Resource_Dojo

Zend_Application_Resource_Dojo puede usarse para configurar los ayudantes de vista (viewhelpers) de Zend_Dojo.

Ejemplo 14.3. Ejemplo de configuración del recurso Dojo

A continuación se muestra un archivo INI de ejemplo que muestra cómo puede habilitarse Zend_Dojo.

resources.dojo.enable = true ; Cargar siempre los archivos javascript de Dojo

El plugin de recurso Zend_Dojo utiliza las opciones de Zend_Dojo_View_Helper_Dojo_Container::setOptions() para configurar los ayudantes de vista. Consulte el capítulo Zend_Dojo para obtener descripciones completas y las opciones disponibles.


14.6.4. Zend_Application_Resource_Frontcontroller

Probablemente el recurso más común que cargará con Zend_Application será el recurso Front Controller, que proporciona la capacidad de configurar Zend_Controller_Front. Este recurso proporciona la capacidad de establecer parámetros arbitrarios del front controller, especificar plugins a inicializar y mucho más.

Una vez inicializado, el recurso asigna la propiedad $frontController del bootstrap a la instancia de Zend_Controller_Front.

Las claves de configuración disponibles incluyen las siguientes, y no distinguen entre mayúsculas y minúsculas:

  • controllerDirectory: ya sea un valor de cadena que especifica un único directorio de controladores, o un array de pares módulo-directorio de controladores.

  • moduleControllerDirectoryName: un valor de cadena que indica el subdirectorio bajo un módulo que contiene los controladores.

  • moduleDirectory: directorio bajo el cual pueden encontrarse los módulos.

  • defaultControllerName: nombre base del controlador por defecto (normalmente "index").

  • defaultAction: nombre base de la acción por defecto (normalmente "index").

  • defaultModule: nombre base del módulo por defecto (normalmente "default").

  • baseUrl: URL base explícita de la aplicación (normalmente autodetectada).

  • plugins: array de nombres de clase de plugins del front controller. El recurso instanciará cada clase (sin argumentos de constructor) y luego registrará la instancia con el front controller. Si desea registrar un plugin con un índice de pila (stack index) concreto, debe proporcionar un array con dos claves class y stackIndex.

  • params: array de pares clave-valor a registrar con el front controller.

  • returnresponse: si se debe devolver o no el objeto response tras despachar el front controller. El valor debe ser un booleano; por defecto, está deshabilitado.

  • dispatcher: permite sobrescribir el dispatcher por defecto. Tiene dos subclaves, class (el nombre de clase del nuevo dispatcher) y params, un array de parámetros a pasar al constructor del dispatcher.

    Ejemplo 14.4. Sobrescribir el dispatcher

    [production]
    resources.frontController.dispatcher.class = "My_Custom_Dispatcher"
    resources.frontController.dispatcher.params.foo = "bar"
    resources.frontController.dispatcher.params.baz = "grok"
    

Si se proporciona una clave no reconocida, se registra como un parámetro del front controller pasándola a setParam().

Ejemplo 14.5. Ejemplo de configuración del recurso Front Controller

A continuación se muestra un fragmento INI de ejemplo que muestra cómo configurar el front controller.

[production]
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.moduleControllerDirectoryName = "actions"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.defaultControllerName = "site"
resources.frontController.defaultAction = "home"
resources.frontController.defaultModule = "static"
resources.frontController.baseUrl = "/subdir"
resources.frontController.plugins.foo = "My_Plugin_Foo"
resources.frontController.plugins.bar = "My_Plugin_Bar"
resources.frontController.plugins.baz.class = "My_Plugin_Baz"
resources.frontController.plugins.baz.stackIndex = 123
resources.frontController.returnresponse = 1
resources.frontController.env = APPLICATION_ENV

; Lo siguiente actúa como proxy de:
; Zend_Controller_Action_HelperBroker::addPath('Helper_Path', $helperPrefix);
resources.frontController.actionHelperPaths.HELPER_Prefix = "My/Helper/Path"

Ejemplo 14.6. Recuperar el Front Controller en su bootstrap

Una vez que su recurso Front Controller se ha inicializado, puede obtener la instancia del Front Controller mediante la propiedad $frontController de su bootstrap.

$bootstrap->bootstrap('frontController');
$front = $bootstrap->frontController;

14.6.5. Zend_Application_Resource_Layout

Zend_Application_Resource_Layout puede usarse para configurar Zend_Layout. Las opciones de configuración se corresponden con las opciones de Zend_Layout .

Ejemplo 14.7. Ejemplo de configuración de Layout

A continuación se muestra un fragmento INI de ejemplo que muestra cómo configurar el recurso layout.

resources.layout.layout = "NameOfDefaultLayout"
resources.layout.layoutPath = "/path/to/layouts"

14.6.6. Zend_Application_Resource_Locale

Zend_Application_Resource_Locale puede usarse para establecer una configuración regional (locale) de ámbito de aplicación que luego se usa en todas las clases y componentes que trabajan con localización o internacionalización. Por defecto la configuración regional se guarda en una entrada de Zend_Registry con la clave 'Zend_Locale'.

Básicamente hay tres casos de uso para el plugin de recurso Locale. Cada uno de ellos debe usarse según las necesidades de la aplicación.

14.6.6.1. Autodetectar la configuración regional a usar

Sin especificar ninguna opción para Zend_Application_Resource_Locale, Zend_Locale detectará automáticamente la configuración regional que su aplicación usará.

Esta detección funciona porque su cliente envía el idioma deseado dentro de su petición HTTP. Normalmente el navegador del cliente envía los idiomas que desea ver, y Zend_Locale usa esta información para la detección.

Pero hay 2 problemas con este enfoque:

  • El navegador podría estar configurado para no enviar ningún idioma

  • El usuario podría haber establecido manualmente una configuración regional que no existe

En ambos casos Zend_Locale recurrirá a otro mecanismo para detectar la configuración regional:

  • Cuando se ha establecido una configuración regional que no existe, Zend_Locale intenta degradar esta cadena.

    Cuando, por ejemplo, se establece en_ZZ, se degradará automáticamente a en. En este caso en se usará como configuración regional para su aplicación.

  • Cuando la configuración regional tampoco pudiera detectarse mediante degradación, se usará la configuración regional de su entorno (servidor web). La mayoría de los entornos disponibles de los proveedores de alojamiento web usan en como configuración regional.

  • Cuando no se pudiera detectar la configuración regional del sistema, Zend_Locale usará su configuración regional por defecto, que se establece en en de forma predeterminada.

Para obtener más información sobre la detección de configuración regional, consulte este capítulo sobre la detección automática de Zend_Locale.

14.6.6.2. Autodetectar la configuración regional y añadir un valor de reserva propio

La autodetección anterior podría generar problemas cuando no se pudiera detectar la configuración regional y desee tener otra configuración regional por defecto distinta de en. Para evitarlo, Zend_Application_Resource_Locale le permite establecer una configuración regional propia que se usará en caso de que no se pueda detectar la configuración regional.

Ejemplo 14.8. Autodetectar la configuración regional y establecer un valor de reserva

El siguiente fragmento muestra cómo establecer una configuración regional propia por defecto que se usará cuando el cliente no envíe una configuración regional por sí mismo.

; Intentar determinar automáticamente primero,
; si no se consigue, usar nl_NL como valor de reserva.
resources.locale.default = "nl_NL"

14.6.6.3. Forzar el uso de una configuración regional específica

A veces es útil definir una única configuración regional que se deba usar. Esto puede hacerse utilizando la opción force.

En este caso se usará esta única configuración regional y la detección automática se desactiva.

Ejemplo 14.9. Definir una única configuración regional a usar

El siguiente fragmento muestra cómo establecer una única configuración regional para toda su aplicación.

; No importa qué pase, se usará la configuración regional nl_NL.
resources.locale.default = "nl_NL"
resources.locale.force = true

14.6.6.4. Configurar la plantilla de caché

Cuando no ha establecido ninguna caché, Zend_Locale establecerá por sí mismo una caché con el backend de archivo por defecto. Pero si desea elegir el backend u otras opciones, puede usar el nombre de una plantilla de caché o una instancia de Zend_Cache_Core. Para obtener más información, consulte Sección 43.1.10, “Acelerar Zend_Locale y sus subclases”.

Ejemplo 14.10. Definir una plantilla de caché a usar

; Opcionalmente también puede usar la plantilla de caché para el cacheo:
resources.locale.cache = "locale"

14.6.7. Zend_Application_Resource_Log

Zend_Application_Resource_Log para instanciar una instancia de Zend_Log con un número arbitrario de escritores de log. La configuración se pasará al método Zend_Log::factory(), lo que permite especificar combinaciones de escritores y filtros de log. La instancia de log podrá entonces recuperarse del bootstrap más tarde para registrar eventos.

Ejemplo 14.11. Ejemplo de configuración del recurso Log

A continuación se muestra un fragmento INI de ejemplo que muestra cómo configurar el recurso log.

resources.log.stream.writerName = "Stream"
resources.log.stream.writerParams.stream = APPLICATION_PATH "/../data/logs/application.log"
resources.log.stream.writerParams.mode = "a"
resources.log.stream.filterName = "Priority"
resources.log.stream.filterParams.priority = 4

Para más información sobre las opciones disponibles, revise la documentación de Zend_Log::factory().


14.6.8. Zend_Application_Resource_Mail

Zend_Application_Resource_Mail puede usarse para instanciar un transporte para Zend_Mail o establecer el nombre y dirección por defecto, así como el nombre y dirección de respuesta (replyto) por defecto.

Al instanciar un transporte, se registra automáticamente en Zend_Mail. Sin embargo, al establecer la directiva transport.register a FALSE, este comportamiento deja de producirse.

Ejemplo 14.12. Ejemplo de configuración del recurso Mail

A continuación se muestra un fragmento INI de ejemplo que muestra cómo configurar el plugin de recurso mail.

resources.mail.transport.type = smtp
resources.mail.transport.host = "smtp.example.com"
resources.mail.transport.auth = login
resources.mail.transport.username = myUsername
resources.mail.transport.password = myPassword
resources.mail.transport.register = true ; Verdadero por defecto

resources.mail.defaultFrom.email = john@example.com
resources.mail.defaultFrom.name = "John Doe"
resources.mail.defaultReplyTo.email = Jane@example.com
resources.mail.defaultReplyTo.name = "Jane Doe"

14.6.9. Zend_Application_Resource_Modules

Zend_Application_Resource_Modules se usa para inicializar los módulos de su aplicación. Si su módulo tiene un archivo Bootstrap.php en su raíz, y contiene una clase llamada Module_Bootstrap (donde "Module" es el nombre del módulo), entonces se usará esa clase para arrancar el módulo.

Por defecto, se creará una instancia de Zend_Application_Module_Autoloader para el módulo, utilizando el nombre y el directorio del módulo para inicializarla.

Dado que el recurso Modules no admite ningún argumento por defecto, para habilitarlo mediante configuración, debe crearlo como un array vacío. En un estilo de configuración INI, esto se ve así:

resources.modules[] =

En un estilo de configuración XML, esto se ve así:

<resources>
    <modules>
        <!-- Placeholder to ensure an array is created -->
        <placeholder />
    </modules>
</resources>

Usando un array estándar de PHP, simplemente créelo como un array vacío:

$options = array(
    'resources' => array(
        'modules' => array(),
    ),
);
[Note] Dependencia del recurso Front Controller

El recurso Modules tiene una dependencia con el recurso Front Controller. Por supuesto, puede proporcionar su propio reemplazo para ese recurso mediante una clase personalizada de recurso Front Controller o un método inicializador de clase -- siempre que la clase del plugin de recurso termine en "Frontcontroller" o el método inicializador se llame "_initFrontController" (sin distinguir mayúsculas y minúsculas).

Ejemplo 14.13. Configurar módulos

Puede especificar configuración específica de un módulo usando el nombre del módulo como prefijo o subsección en su archivo de configuración.

Por ejemplo, supongamos que su aplicación tiene un módulo "news". Los siguientes son ejemplos INI y XML que muestran la configuración de recursos en ese módulo.

[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"
<?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>

Ejemplo 14.14. Recuperar el bootstrap de un módulo específico

En ocasiones, puede que necesite recuperar el objeto bootstrap de un módulo específico -- quizás para ejecutar métodos de bootstrap discretos, o para obtener el autoloader con el fin de configurarlo. Esto puede hacerse utilizando el método getExecutedBootstraps() del recurso Modules.

$resource = $bootstrap->getPluginResource('modules');
$moduleBootstraps = $resource->getExecutedBootstraps();
$newsBootstrap = $moduleBootstraps['news'];

14.6.10. Zend_Application_Resource_Multidb

Zend_Application_Resource_Multidb se usa para inicializar múltiples conexiones de base de datos. Puede usar las mismas opciones que con el plugin de recurso Db. Sin embargo, para especificar una conexión por defecto, también puede usar la directiva 'default'.

Ejemplo 14.15. Configurar múltiples conexiones de Db

A continuación se muestra una configuración INI de ejemplo que puede usarse para inicializar dos conexiones Db.

[production]
resources.multidb.db1.adapter = "pdo_mysql"
resources.multidb.db1.host = "localhost"
resources.multidb.db1.username = "webuser"
resources.multidb.db1.password = "XXXX"
resources.multidb.db1.dbname = "db1"

resources.multidb.db2.adapter = "pdo_pgsql"
resources.multidb.db2.host = "example.com"
resources.multidb.db2.username = "dba"
resources.multidb.db2.password = "notthatpublic"
resources.multidb.db2.dbname = "db2"
resources.multidb.db2.default = true

Ejemplo 14.16. Recuperar un adaptador de base de datos específico

Al usar este plugin de recurso, generalmente querrá recuperar una base de datos específica. Esto puede hacerse usando el método del recurso getDb(). El método getDb() devuelve una instancia de una clase que extiende Zend_Db_Adapter_Abstract. Si no ha establecido una base de datos por defecto, se lanzará una excepción cuando se llame a este método sin especificar un parámetro.

$resource = $bootstrap->getPluginResource('multidb');
$db1 = $resource->getDb('db1');
$db2 = $resource->getDb('db2');
$defaultDb = $resource->getDb();

Ejemplo 14.17. Recuperar el adaptador de base de datos por defecto

Adicionalmente, puede recuperar el adaptador de base de datos por defecto usando el método getDefaultDb(). Si no ha establecido un adaptador por defecto, se devolverá el primer adaptador de db configurado. A menos que especifique FALSE como primer parámetro, en cuyo caso se devolverá NULL cuando no se haya establecido un adaptador de base de datos por defecto.

A continuación se muestra un ejemplo que asume que el plugin de recurso Multidb se ha configurado con el ejemplo INI anterior:

$resource = $bootstrap->getPluginResource('multidb');
$db2 = $resource->getDefaultDb();

// Misma configuración, pero ahora sin una db por defecto:
$db1 = $resource->getDefaultDb();
$null = $resource->getDefaultDb(false); // null

14.6.11. Zend_Application_Resource_Navigation

Zend_Application_Resource_Navigation puede usarse para configurar una instancia de Zend_Navigation. Las opciones de configuración se corresponden con las opciones de Zend_Navigation.

Una vez finalizada la configuración de la instancia de navegación, asigna la instancia a Zend_View_Helper_Navigation por defecto -- desde donde podrá recuperarla más tarde.

Ejemplo 14.18. Ejemplo de configuración del recurso Navigation

A continuación se muestra un fragmento INI de ejemplo que muestra cómo configurar el recurso navigation.

resources.navigation.pages.page1.label = "Label of the first page"
resources.navigation.pages.page1.route = "Route that belongs to the first page"

; La página 2 es una subpágina de la página 1
resources.navigation.pages.page1.pages.page2.type = "Zend_Navigation_Page_Uri"
resources.navigation.pages.page1.pages.page2.label = "Label of the second page"
resources.navigation.pages.page1.pages.page2.uri = "/url/to/page/2"

14.6.12. Zend_Application_Resource_Router

Zend_Application_Resource_Router puede usarse para configurar el router tal y como se registra con el Front Controller. Las opciones de configuración se corresponden con las opciones de Zend_Controller_Router_Route.

Ejemplo 14.19. Ejemplo de configuración del recurso Router

A continuación se muestra un fragmento INI de ejemplo que muestra cómo configurar el recurso router.

resources.router.routes.route_id.route               = "/login"
resources.router.routes.route_id.defaults.module     = "admin"
resources.router.routes.route_id.defaults.controller = "user"
resources.router.routes.route_id.defaults.action     = "login"

; Opcionalmente también puede establecer un separador de nombre de cadena (Chain Name Separator):
resources.router.chainNameSeparator = "_"

; Ejemplo con parámetro
resources.router.routes.route_id.route               = "/user/:user_id"
resources.router.routes.route_id.defaults.module     = "admin"
resources.router.routes.route_id.defaults.controller = "user"
resources.router.routes.route_id.defaults.action     = "edit"
resources.router.routes.route_id.reqs.user_id        = "^\d+$"

Para más información sobre el separador de nombre de cadena, consulte su sección.


14.6.13. Zend_Application_Resource_Session

Zend_Application_Resource_Session permite configurar Zend_Session, así como inicializar opcionalmente un SaveHandler de sesión.

Para establecer un manejador de guardado (save handler) de sesión, simplemente pase la clave de opción saveHandler (sin distinguir mayúsculas y minúsculas) al recurso. El valor de esta opción puede ser uno de los siguientes:

  • String: una cadena que indica una clase que implementa Zend_Session_SaveHandler_Interface que debe instanciarse.

  • Array: un array con las claves "class" y, opcionalmente, "options", que indica una clase que implementa Zend_Session_SaveHandler_Interface que debe instanciarse y un array de opciones a proporcionar a su constructor.

  • Zend_Session_SaveHandler_Interface: un objeto que implementa esta interfaz.

Cualquier otra clave de opción proporcionada se pasará a Zend_Session::setOptions() para configurar Zend_Session.

Ejemplo 14.20. Ejemplo de configuración del recurso Session

A continuación se muestra un fragmento INI de ejemplo que muestra cómo configurar el recurso session. Establece varias opciones de Zend_Session, así como configura una instancia de Zend_Session_SaveHandler_DbTable.

resources.session.save_path = APPLICATION_PATH "/../data/session"
resources.session.use_only_cookies = true
resources.session.remember_me_seconds = 864000
resources.session.saveHandler.class = "Zend_Session_SaveHandler_DbTable"
resources.session.saveHandler.options.name = "session"
resources.session.saveHandler.options.primary[] = "session_id"
resources.session.saveHandler.options.primary[] = "save_path"
resources.session.saveHandler.options.primary[] = "name"
resources.session.saveHandler.options.primaryAssignment[] = "sessionId"
resources.session.saveHandler.options.primaryAssignment[] = "sessionSavePath"
resources.session.saveHandler.options.primaryAssignment[] = "sessionName"
resources.session.saveHandler.options.modifiedColumn = "modified"
resources.session.saveHandler.options.dataColumn = "session_data"
resources.session.saveHandler.options.lifetimeColumn = "lifetime"

[Note] ¡Arranque primero su base de datos!

Si está configurando el manejador de guardado de sesión Zend_Session_SaveHandler_DbTable, primero debe configurar su conexión de base de datos para que funcione. Hágalo usando el recurso Db -- y asegúrese de que la clave "resources.db" aparezca antes de la clave "resources.session" -- o escribiendo su propio recurso que inicialice la base de datos, y que establezca específicamente el adaptador de Zend_Db_Table por defecto.

14.6.14. Zend_Application_Resource_Translate

Zend_Application_Resource_Translate inicializará un adaptador de Zend_Translate según las opciones que se le pasen.

Se reconocen las siguientes claves de configuración:

  • adapter : tipo de adaptador de Zend_Translate . El adaptador por defecto es array si no se especifica.

  • data : ruta a la traducción.

  • locale : define la configuración regional a usar en la traducción. Por defecto, la configuración regional puede detectarse automáticamente o forzarse con una instancia de Zend_Locale almacenada en Zend_Registry con una única configuración regional.

  • options : las opciones son diferentes para cada adaptador. Consulte la sección Sección 74.5.1, “Opciones para los adaptadores” para más detalles.

  • registry : la clave personalizada para almacenar la instancia de Zend_Translate en el registro. Por defecto, la clave es Zend_Translate.

  • cache : el nombre de la plantilla de caché o una instancia de Zend_Cache_Core que se usará como caché para Zend_Translate_Adapter. El objetivo es acelerar la carga, especialmente para los archivos basados en XML.

Ejemplo 14.21. Ejemplo de configuración del recurso adaptador de traducción

A continuación se muestra una configuración INI de ejemplo que puede usarse para inicializar el recurso translate.

resources.translate.adapter = tmx
resources.translate.content = APPLICATION_PATH "/../data/locales"
resources.translate.scan = Zend_Translate::LOCALE_DIRECTORY

; Opcionalmente también puede usar la plantilla de caché para el cacheo:
resources.translate.cache = "languages"

14.6.15. Zend_Application_Resource_Useragent

14.6.15.1. Resumen

Este recurso proporciona la capacidad de configurar e instanciar Zend_Http_UserAgent para su uso dentro de su aplicación.

14.6.15.2. Inicio rápido

El uso de Zend_Http_UserAgent, incluido el uso del recurso de aplicación, se cubre en el inicio rápido de UserAgent. A continuación se muestra un breve resumen de las opciones típicas que podría proporcionar.

resources.useragent.wurflapi.wurfl_api_version = "1.1"
resources.useragent.wurflapi.wurfl_lib_dir = APPLICATION_PATH "/../library/Wurfl/1.1"
resources.useragent.wurflapi.wurfl_config_file = APPLICATION_PATH "/../library/Wurfl/1.1/resources/wurfl-config.php"

14.6.15.3. Opciones de configuración

Consulte la sección de opciones de UserAgent para más detalles sobre las opciones disponibles.

14.6.15.4. Métodos disponibles

init();

Llamado por el objeto bootstrap para inicializar el recurso. Llama primero al método getUserAgent() (y devuelve la instancia devuelta por ese método); luego, si el recurso "view" está disponible, lo recupera e inyecta la instancia de UserAgent en el ayudante de vista UserAgent.

getUserAgent();

Instancia un objeto Zend_Http_UserAgent, usando las opciones de configuración proporcionadas en la configuración de la aplicación.

14.6.16. Zend_Application_Resource_View

Zend_Application_Resource_View puede usarse para configurar una instancia de Zend_View. Las opciones de configuración se corresponden con las opciones de Zend_View.

Una vez finalizada la configuración de la instancia de view, crea una instancia de Zend_Controller_Action_Helper_ViewRenderer y registra el ViewRenderer con Zend_Controller_Action_HelperBroker -- desde donde podrá recuperarlo más tarde.

Ejemplo 14.22. Ejemplo de configuración del recurso View

A continuación se muestra un fragmento INI de ejemplo que muestra cómo configurar el recurso view.

resources.view.encoding = "UTF-8"
resources.view.basePath = APPLICATION_PATH "/views/"

14.6.16.1. Definir el doctype a usar

Si desea obtener más información sobre los valores, consulte el ayudante Doctype .

Ejemplo 14.23. Ejemplo de configuración de doctype

El siguiente fragmento muestra cómo establecer un doctype.

resources.view.doctype = "HTML5"

14.6.16.2. Definir el tipo de contenido y la codificación a usar

Si desea obtener más información sobre los valores, consulte el ayudante HeadMeta .

Ejemplo 14.24. Ejemplo de configuración de tipo de contenido y codificación

El siguiente fragmento muestra cómo establecer un meta Content-Type.

resources.view.contentType = "text/html; charset=UTF-8"

Ejemplo 14.25. Ejemplo de configuración de codificación para un documento HTML5

El siguiente fragmento muestra cómo establecer un meta charset al estilo HTML5.

resources.view.doctype = "HTML5"
resources.view.charset = "UTF-8"