Plugins de ressources disponibles

Vous trouverez ci-après la documentation de type API concernant tous les plugins disponibles par défaut dans Zend_Application.

Zend_Application_Resource_Cachemanager

Zend_Application_Resource_Cachemanager peut être utilisé pour configurer un jeu d'ensemble d'options Zend_Cache permettant de paramétrer des caches à chargement tardifs ("lazy loading") avec Zend_Cache_Manager

Comme le gestionnaire de cache est un mécanisme à chargement tardif, les options sont traduites en modèle d'options utilisé pour instancier un objet de cache à la demande.

Exemple 31. Exemple de configuration d'une ressource de gestionnaire de cache

Ci-dessous vous trouverez un extrait de fichier INI montrant comment Zend_Cache_Manager peut être configuré. Le format est le préfixe de la ressource Cachemanager (resources.cachemanager) suivi par le nom d'un modèle (par exemple resources.cachemanager.database) et finalement suivi par une option habituelle 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

Ensuite récupérer ce cache à partir du gestionnaire est aussi simple que d'accéder à une instance de gestionnaire (Zend_Cache_Manager) récupéré à partir de Zend_Application_Resource_Cachemanager et d'appeler $cacheManager->getCache('database'). L'exemple ci-dessous est extrait d'un contrôleur dans lequel la classe de bootstrap est accessible via un paramètre du contrôleur frontal (qui est automatiquement assigné lors de l'amorçage). Comme vous pouvez le voir, la ressource de gestionnaire de cache implémente la méthode getCacheManager() pour récupérer l'instance de Zend_Cache_Manager préparée dans le bootstrap.

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

Reportez-vous à la méthode Zend_Cache::factory() pour avoir une description des valeurs par défaut que vous pouvez affecter lors de la configuration du cache via un fichier de configuration comme le fichier INI de l'exemple ci-dessus.


Zend_Application_Resource_Db

Zend_Application_Resource_Db initialisera un adaptateur Zend_Db basé sur les options qui lui seront fournis. Par défaut, il spécifiera aussi cet adaptateur comme adaptateur par défaut à utiliser avec Zend_Db_Table. Si vous souhaitez utiliser simultanément de multiples bases de données, vous pouvez utiliser la plugin de ressource Multidb.

Les clés de configuration suivantes sont reconnues :

  • adapter : le type de l'adaptateur Zend_Db.

  • params : un tableau associatif des paramètres de configuration à utiliser pour la récupération de l'instance de l'adaptateur.

  • isDefaultTableAdapter : spécifie si l'adaptateur est celui par défaut des tables.

  • defaultMetadataCache : spécifie le nom du modèle de cache ou une instance de Zend_Cache_Core à utiliser en tant que cache de métadonnées pour Zend_Db_Table.

Exemple 32. Exemple de configuration d'une ressource d'adaptateur de base données

Voici un exemple de configuration INI qui peut-être utilisé pour initialiser une ressource de base de données.

[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

; Optionnellement, on peut utiliser un modèle du gestionnaire de cache :
resources.db.defaultMetadataCache = "database"

Récupération de l'instance de l'adaptateur

Si vous choisissez de ne pas utiliser l'adaptateur instancié avec cette ressource comme adaptateur par défaut pour les tables, comment pourrez-vous récupérer l'instance ?

Comme tout plugin de ressource, vous pouvez extraire votre plugin de ressource de votre fichier d'initialisation :

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

Une fois que vous avez l'objet ressource, vous pouvez récupérer l'adaptateur de base de données en utilisant la méthode getDbAdapter() :

$db = $resource->getDbAdapter();

Zend_Application_Resource_Dojo

Zend_Application_Resource_Dojo peut être utiliser pour configurer les aides de vue Zend_Dojo.

Exemple 33. Exemple de configuration de ressource Dojo

Ci-dessous vous trouverez un exemple de fichier INI montrant comment Zend_Dojo peut être activé.

resources.dojo.enable = true ; Toujours charger les fichiers Javascript Dojo

Le plugin de ressource Zend_Dojo utilise les options de Zend_Dojo_View_Helper_Dojo_Container::setOptions() pour configurer les aides de vue. Regardez le chapitre Zend_Dojo pour plus d'informations.


Zend_Application_Resource_Frontcontroller

Probablement la ressource que vous allez le plus communément charger avec Zend_Application sera la ressource de contrôleur frontal qui fournit la possibilité de configurer Zend_Controller_Front. Cette ressource permet de spécifier n'importe quel paramètre du contrôleur frontal, de spécifier les plugins à initialiser, et bien plus...

Une fois initialisée, la ressource assigne la propriété $frontController du fichier d'initialisation à l'instance Zend_Controller_Front.

Les clés de configuration disponibles incluent les suivantes et sont sensibles à la casse :

  • controllerDirectory : une chaîne de caractères spécifiant un seul dossier de contrôleurs, ou un tableau associant un nom de module et un dossier de contrôleurs.

  • moduleControllerDirectoryName : une chaîne de caractères indiquant un sous-dossier dans ce module qui contient les contrôleurs.

  • moduleDirectory : un dossier dans lequel tous les modules peuvent être trouvés.

  • defaultControllerName : nom du contrôleur par défaut (normalement "index").

  • defaultAction : nom de l'action par défaut (normalement "index").

  • defaultModule : nom du module par défaut (normalement "default").

  • baseUrl : URL de base explicite vers l'application (normalement auto-détecté).

  • plugins : tableau de nom de classe de plugins de contrôleurs. La ressource instanciera chaque classe (sans arguments de constructeur) et les enregistrera dans le contrôleur frontal. Si vous souhaitez enregistrer un plugin avec un index particulier dans la pile des plugins, vous devez fournir un tableau avec deux clés class et stackIndex.

  • params : tableau de paires clés / valeurs à enregistrer dans le contrôleur frontal.

  • returnresponse : active ou non le retour de l'objet de réponse après la distribution du contrôleur frontal. Cette valeur devrait être booléenne ; par défaut, ceci est désactivé.

  • dispatcher> : permet de surcharger le distributeur par défaut. Possède 2 sous-clés, class (le nom de classe du nouveau distributeur) et params, un tableau de paramètres à fournir au constructeur du distributeur.

    Exemple 34. Surcharger le distributeur

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

Si une clé non-connue est fournie, elle sera enregistrée comme paramètre du contrôleur frontal en la fournissant à setParam().

Exemple 35. Exemple de configuration d'une ressource de contrôleur frontal

Voici un extrait de configuration INI montrant comment configurer la ressource de contrôleur frontal.

[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

;Ce qui suit proxie vers :
;Zend_Controller_Action_HelperBroker::addPath('Helper_Path', $helperPrefix);
resources.frontController.actionHelperPaths.HELPER_Prefix = "My/Helper/Path"

Exemple 36. Récupération de votre contrôleur frontal à partir de votre initialiseur

Une fois la ressource de contrôleur frontal initialisée, vous pouvez récupérer l'instance via la propriété $frontController de votre initialiseur.

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

Zend_Application_Resource_Layout

Zend_Application_Resource_Layout peut être utilisé pour configurer Zend_Layout. Les options de configurations sont les mêmes que celles de Zend_Layout.

Exemple 37. Exemple de configuration de layout

Ci-dessous un exemple de code INI montrant comment configurer la ressource layout.

resources.layout.layout = "NomDuLayoutParDefaut"
resources.layout.layoutPath = "/chemin/vers/layouts"

Zend_Application_Resource_Locale

Zend_Application_Resource_Locale peut être utilisé pour paramétrer de manière globale la région dans une application qui sera alors utilisée par toutes les classes et les composants qui travaille avec la localisation et l'internationalisation. Par défaut la locale est sauvegardée dans une entrée de Zend_Registry avec la clé 'Zend_Locale'.

Il y a basiquement trois cas d'utilisation du plugin de ressource Locale. Chacun pouvant être utilisé suivant les besoins de votre application.

Autodétection de la locale à utiliser

Sans spécifier d'options pour Zend_Application_Resource_Locale, Zend_Locale va détecter automatiquement la locale, que votre application va utiliser.

Cette détection fonctionne car votre client émet la langue souhaitée à l'intérieur de sa requête HTTP. Normalement le navigateur client envoie les langues qu'il accepte de voir, et Zend_Locale utilise cette information pour la détection.

Mais il y a deux problèmes avec cette approche :

  • Le navigateur pourrait ne paramétrer aucune langue

  • L'utilisateur pourrait avoir manuellement paramétrer une locale qui n'existe pas

Dans ces deux cas Zend_Locale reviendra vers d'autres mécanismes pour détecter la locale :

  • Quand une locale inexistante a été fournie, Zend_Locale essaie de réduire la chaîne.

    Quand, par exemple, fr_ZZ a été paramétré, il est automatiquement réduit en fr. Dans ce cas fr sera utilisé en tant que locale pour votre application.

  • Quand la locale ne peut pas non plus être reconnue même après réduction, la locale de votre environnement (serveur Web) sera utilisée. La plupart des environnements des hébergeurs utilise en en tant que locale.

  • Quand la locale de l'environnement ne peut pas non plus être détectée, Zend_Locale utilisera sa locale par défaut, qui est par défaut en.

Pour de plus amples informations concernant la détection des locales, lisez le chapitre sur la déctection automatique avec Zend_Locale.

Autodétection de la locale avec ajout de votre propre valeur par défaut

L'autodétection ci-dessus peut entraîner des problèmes quand la locale ne peut pas être détectée et que vous souhaitez une autre locale par défaut que en. Pour empêcher ceci, Zend_Application_Resource_Locale vous permet de paramétrer votre propre locale qui sera utilisée si aucune locale ne peut être détectée.

Exemple 38. Autodétecter la locale et paramétrer une valeur par défaut

L'extrait suivant montre comment spécifier sa propre locale utilisée si le client n'envoie pas lui-même une locale.

; tentative de détection automatique,
; si impossible alors on prend fr_FR.
resources.locale.default = "fr_FR"

Forcer l'utilisation d'une locale

Parfois il peut être pratique de définir la locale qui devra être utilisée. Ceci peut être fait en utilisant l'option force.

Dans ce cas, cette locale seule sera utilisée et la détection automatique sera désactivée.

Exemple 39. Définition de la locale à utiliser

L'extrait suivant montre comment spécifier la locale à utiliser pour toute votre application.

; dans tous les cas, fr_FR doit être utilisé
resources.locale.default = "fr_FR"
resources.locale.force = true

Configurer le modèle de cache

Lorsque vous ne définissez pas de cache, Zend_Locale définit son propre cache avec le backend fichier par défaut. Cependant, vous pouvez utiliser un nom de modèle du gestionnaire de cache, ou une instance de Zend_Cache_Core, pour choisir le backend, ou d'autres options. Pour plus d'informations, veuillez vous reporter à la section intitulée « Speed up Zend_Locale and its subclasses ».

Exemple 40. Définition du cache avec un modèle du gestionnaire

; Optionnellement, on peut utiliser un modèle du gestionnaire de cache :
resources.locale.cache = "locale"

Zend_Application_Resource_Log

Zend_Application_Resource_Log permet d'instancier une instance Zend_Log avec une nombre quelconque de rédacteurs. La configuration sera fournie à la méthode Zend_Log::factory() vous permettant de spécifier les combinaisons de rédacteurs et de filtres. L'instance de journalisation peut ensuite être récupérée à partir du bootstrap afin d'enregistrer les événements.

Exemple 41. Exemple de configuration d'une ressource de journalisation

Ci-dessous, vous avez un extrait de fichier INI montrant comment configurer la ressource de journalisation.

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

Pour plus d'informations concernant les options disponibles, vous pouvez consulter la documentation de Zend_Log::factory().


Zend_Application_Resource_Multidb

Zend_Application_Resource_Multidb est utilisé pour initialiser de multiples connexions vers des bases de données. Vous pouvez utiliser les mêmes options qu'avec le plugin de ressource Db. Cependant, pour spécifier une connexion par défaut, vous pouvez aussi utiliser la directive 'default'.

Exemple 42. Paramétrer de multiples connexions vers des bases de données

Ci-dessous vous avez un exemple de configuration INI montrant l'initialisation de deux connexions.

[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

Exemple 43. Récupérer un adaptateur de bases de données spécifique

Lorsque vous utilisez ce plugin de ressource, vous aurez sans doute besoin de récupérer un adaptateur spécifique. Ceci peut être réalisé en utilisant la méthode getDb(). La méthode getDb() retourne l'instance d'une classe qui étend Zend_Db_Adapter_Abstract. Si vous n'avez pas activé un adaptateur par défaut, une exception sera levée lorsque vous appellerez cette méthode sans lui fournir de paramètre.

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

Exemple 44. Récupérer l'adaptateur de base de données par défaut

De plus, vous pouvez récupérer l'adaptateur par défaut en utilisant la méthode getDefaultDb(). Si vous n'avez pas activé d'adaptateur par défaut, le premier configuré sera retourné. Si vous spécifiez FALSE en tant que premier paramètre, alors vous récupérez NULL si adaptateur par défaut n'est configuré.

Ci-dessous vous avez un exemple qui suppose que le plugin de ressource Multidb a été configuré avec l'exemple INI ci-dessus :

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

// Même config, mais maintenant sans adaptateur par défaut :
$db1 = $resource->getDefaultDb();
$null = $resource->getDefaultDb(false); // null

Zend_Application_Resource_Mail

Zend_Application_Resource_Mail peut être utilisé pour instancier un transport pour Zend_Mail ou pour paramétrer le nom par défaut et l'adresse, ainsi que le nom et l'adresse de réponse par défaut.

Lors de l'instanciation d'un transport, il est automatiquement enregistré avec Zend_Mail. Cependant en paramétrant la directive transport.register à FALSE, ce comportement n'apparaît pas.

Exemple 45. Exemple de configuration de la ressource Mail

Ci-dessous, vous avez un extrait d'un fichier INI montrant comment configurer le plugin de ressource 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 ; True by default
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"

Zend_Application_Resource_Modules

Zend_Application_Resource_Modules est utilisé pour initialiser les modules de votre application. Si votre module possède un fichier Bootstrap.php à sa racine, et que celui-ci contient une classe nommée Module_Bootstrap (où "Module" est le nom du module), alors celle-ci sera utiliser pour lancer votre module.

Par défaut, une instance de Zend_Application_Module_Autoloader sera créée pour le module en question, utilisant le nom du module et son dossier pour s'initialiser.

Puisque la ressource Modules ne prend pas d'argument par défaut, pour l'activer via la configuration, vous devez créer un tableau vide. En configuration de type INI cela ressemblerait à ceci :

resources.modules[] =

En configuration de type XML cela ressemblerait à ceci :

<resources>
    <modules>
        <!-- Emplacement pour s'assurer qu'un tableau est créé -->
        <placeholder />
    </modules>
</resources>

En utilisant un tableau PHP, il suffit de le créer comme un tableau vide :

$options = array(
    'resources' => array(
        'modules' => array()
    )
);

Dépendance envers le contrôleur frontal

La ressource Modules possède une dépendance envers la ressource Front Controller. Vous pouvez bien sûr proposer votre propre implémentation de la ressource du contrôleur frontal, si tant est que sa classe se termine par "Frontcontroller", ou, si vous choisissez d'utiliser une méthode d'initialisation, celle-ci doit être "_initFrontController".

Exemple 46. Configurer les modules

Vous pouvez spécifier la configuration en utilisant le nom du module comme préfixe de section dans le fichier de configuration.

Par exemple, supposons que vous possédiez un module appelé "news". Voici des exemples INI et XML de fichiers de configuration pour ce module.

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

Exemple 47. Récupérer un bootstrap de module

Il peut être utile de pouvoir récupérer l'objet bootstrap de votre module, pour en exécuter par exemple des méthodes spécifiques, ou encore pour en récupérer l'autoloader. La méthode getExecutedBootstraps() peut être utilisée dans ce cas là, elle s'applique sur un objet ressource de modules.

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

Zend_Application_Resource_Navigation

Zend_Application_Resource_Navigation peut être utilisé pour configurer une instance de Zend_Navigation. Les options de configurations sont les mêmes que celles de Zend_Navigation.

Une fois configuré, l'objet de navigation est ajouté à Zend_View_Helper_Navigation par défaut.

Exemple 48. Exemple de configuration de la ressource Navigation

Voici un exemple de syntaxe INI concernant la configuration de la ressource navigation.

resources.navigation.pages.page1.label = "Nom de la première page"
resources.navigation.pages.page1.route = "Route concernant la première page"

; Page 2 est une sous-page de page 1
resources.navigation.pages.page1.pages.page2.type = "Zend_Navigation_Page_Uri"
resources.navigation.pages.page1.pages.page2.label = "Nom de la seconde page"
resources.navigation.pages.page1.pages.page2.uri = "/url/to/page/2"

Zend_Application_Resource_Router

Zend_Application_Resource_Router est utilisé pour configurer le routeur enregistré grâce aux options du contrôleur frontal. Les options sont identiques à celles de Zend_Controller_Router_Route.

Exemple 49. Exemple de configuration du routeur

Voici l'exemple d'un fichier INI qui configure une ressource de type routeur.

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

; Optionnellement, un séparateur de chaînes peut être précisé :
resources.router.chainNameSeparator = "_"

Pour plus d'informations sur le séparateur de chaînes, voyez sa section.


Zend_Application_Resource_Session

Zend_Application_Resource_Session est utilisé pour configurer Zend_Session et éventuellement un support de sauvegarde sessions (SaveHandler).

Pour créer un support de sauvegarde session, passez la clé saveHandler (non sensible à la casse) à la ressource. La valeur d'une telle option peut être :

  • String : cette chaîne indique le nom d'une classe implémentant Zend_Session_SaveHandler_Interface.

  • Array : avec les clés "class" et optionnellement "options", indiquant une classe à instancier (implémentant Zend_Session_SaveHandler_Interface) et un tableau d'options à passer à son constructeur.

  • Zend_Session_SaveHandler_Interface : un objet implémentant cette interface.

Toute autre option non reconnue sera alors passée à Zend_Session::setOptions() pour configurer Zend_Session.

Exemple 50. Exemple de ressource session

Voici un fichier INI permettant de configurer une session via la ressource. Il affecte des options à Zend_Session et configure une instance 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 = "session_id"
resources.session.saveHandler.options.primary[].save_path = "save_path"
resources.session.saveHandler.options.primary[].name = "name"
resources.session.saveHandler.options.primaryAssignment[].sessionId = "sessionId"
resources.session.saveHandler.options.primaryAssignment[].sessionSavePath = "sessionSavePath"
resources.session.saveHandler.options.primaryAssignment[].sessionName = "sessionName"
resources.session.saveHandler.options.modifiedColumn = "modified"
resources.session.saveHandler.options.dataColumn = "session_data"
resources.session.saveHandler.options.lifetimeColumn = "lifetime"

Configurez votre base de données avant !

Si vous configurez le gestionnaire Zend_Session_SaveHandler_DbTable, vous devez configurer votre base de données avant. Pour cela, servez vous de la ressource Db et assurez vous que la clé "resources.db" apparaît bien avant la clé "resources.session". Vous pouvez aussi utiliser votre propre ressource qui initialise la base de données et affecte l'adaptateur Zend_Db_Table par défaut.

Zend_Application_Resource_Translate

Zend_Application_Resource_Translate initialisera un adaptateur Zend_Translate basé sur les options qui lui seront fourni.

Les clés de configuration suivantes sont reconnues :

  • adapter : le type de l'adaptateur Zend_Translate. S'il n'est pas précisé, l'adaptateur par défaut est de type tableau (array).

  • data : le chemin d'accès aux sources de traduction.

  • locale : la locale à utiliser pour choisir la traduction. Ce paramètre est optionnel, car la langue de l'utilisateur peut être soit détectée automatiquement soit forcée avec une instance Zend_Locale placée dans Zend_Registry avec une langue choisie.

  • options : les options varient en fonction de l'adaptateur choisi. Veuillez vous reporter à la section la section intitulée « Options pour les adaptateurs » de ce dernier pour plus de détails.

  • registry : spécifie la clé du registre pour stocker l'instance de Zend_Translate. Ce paramètre est optionnel, car il sera mis par défaut dans le registre avec la clé Zend_Translate.

  • cache : spécifie le nom d'un modèle du gestionnaire de cache ou une instance de Zend_Cache_Core à utiliser avec Zend_Translate_Adapter. Cela permet d'améliorer les performances en particulier pour les formats XML.

Exemple 51. Exemple de configuration d'une ressource multilingue

Voici un extrait de configuration INI montrant comment configurer une ressource multilingue.

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

; Optionnellement, on peut utiliser un modèle du gestionnaire de cache :
resources.translate.cache = "languages"

Zend_Application_Resource_Useragent

Overview

This resource provides the ability to configure and instantiate Zend_Http_UserAgent for use within your application.

Quick Start

Using Zend_Http_UserAgent, including usage of the application resource, is covered in the UserAgent quick start. Below is a quick summary of typical options you might provide.

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"

Configuration Options

Please see the UserAgent options section for details on available options.

Available Methods

init();

Called by the bootstrap object to initialize the resource. Calls the getUserAgent() method first (and returns the instance returned by that method); then, if the "view" resource is available, retrieves it and injects the UserAgent instance into the UserAgent view helper.

getUserAgent();

Instantiates a Zend_Http_UserAgent instance, using the configuration options provided in the application configuration.

Zend_Application_Resource_View

Zend_Application_Resource_View peut être utilisée pour configurer une instance Zend_View. Les clés de configurations sont celles de Zend_View.

Dès que l'instance est configurée, ceci crée une instance de Zend_Controller_Action_Helper_ViewRenderer et enregistre le ViewRenderer avec Zend_Controller_Action_HelperBroker - à partir duquel vous pourrez le récupérer plus tard.

Exemple 52. Exemple de configuration d'une ressource de vue

Voici un extrait de configuration INI montrant comment configurer une ressource de vue.

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

Définir une doctype

Pour obtenir plus d'informations à propos des valeurs de l'aide de vue Doctype, veuillez la section dédiée.

Exemple 53. Exemple de configuration d'une doctype

L'extrait suivant montre comment spécifier la doctype de son choix.

resources.view.doctype = "HTML5"

Définir le type de contenu, et l'encodage

Pour obtenir plus d'informations à propos des valeurs de l'aide de vue headMeta, veuillez la section dédiée.

Exemple 54. Exemple de configuration du type de contenu, et l'encodage

L'extrait suivant montre comment spécifier un méta Content-Type.

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

Exemple 55. Exemple de configuration de l'encodage pour un document HTML5

L'extrait suivant montre comment spécifier un méta charset.

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