Plugins de ressources disponiblesVous trouverez ci-après la documentation de type API concernant tous les plugins disponibles par défaut dans Zend_Application. Zend_Application_Resource_CachemanagerZend_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. Example #1 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.
Ensuite reécupérer ce cache à partir du gestionnaire est aussi simple que d'accéder à l'instance du gestionnaire et d'appeler $cacheManager->getCache('database');. Zend_Application_Resource_DbZend_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 :
Example #2 Exemple de configuration d'une ressource d'adaptateur de base données Voici un exmple de configuration INI qui peut-être utilisé pour initialiser une ressource de base de données.
Zend_Application_Resource_DojoZend_Application_Resource_Dojo peut être utiliser pour configurer les aides de vue Zend_Dojo. Example #3 Exemple de configuration de ressource Dojo Ci-dessous vous trouverez un exemple de fichier INI montrant comment Zend_Dojo peut être activé.
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_FrontcontrollerProbablement 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 :
Si une clé non-connue est fournie, elle sera enregistrée comme paramètre du contrôleur frontal en la fournissant à setParam(). Example #4 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.
Example #5 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.
Zend_Application_Resource_LayoutZend_Application_Resource_Layout peut être utilisé pour configurer Zend_Layout. Les options de configurations sont les mêmes que celles de Zend_Layout. Example #6 Exemple de configuration de layout Ci-dessous un exemple de code INI montrant comment configurer la ressource layout.
Zend_Application_Resource_LocaleZend_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. 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 à utiliserSans 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 :
Dans ces deux cas Zend_Locale reviendra vers d'autres mécanismes pour détecter la locale :
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éfautL'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. Example #7 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.
Forcer l'utilisation d'une localeParfois il peut être pratique de définir la locale qui devra être utilisée. Ceci peut être fait en utilisant l'option force. Dasn ce cas, cette locale seule sera utilisée et la détection automatique sera désactivée. Example #8 Définition de la locale à utiliser L'extrait suivant montre comment spécifier la locale à utiliser pour toute votre application.
Zend_Application_Resource_LogZend_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. Example #9 Exemple de configuration d'une ressource de journalisation Ci-dessous, vous avez un extrait de fichier INI montrant comment configurer la ressource de journalisation.
Pour plus d'informations concernant les options disponibles, vous pouvez consulter la documentation de Zend_Log::factory(). Zend_Application_Resource_MultidbZend_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'. Example #10 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.
Example #11 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 appelerez cette méthode sans lui fournir de paramètre.
Example #12 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 :
Zend_Application_Resource_MailZend_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'apparait pas. Example #13 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.
Zend_Application_Resource_ModulesZend_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. Since the Modules resource does not take any arguments by default, in order to enable it via configuration, you need to create it as an empty array. En configuration de type INI cela ressemblerait à ceci :
En configuration de type XML cela ressemblerait à ceci :
En utilisant un tableau PHP, il suffit de le créer comme un tableau vide :
Example #14 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.
Example #15 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.
Zend_Application_Resource_RouterZend_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. Example #17 Exemple de configuration du routeur Voici l'exemple d'un fichier INI qui configure une ressource de type routeur.
Pour plus d'informations sur le séparateur de chaines, voyez sa section. Zend_Application_Resource_SessionZend_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 (case insensitive) à la ressource. La valeur d'une telle option peut être :
Toute autre option non reconnue sera alors passée à Zend_Session::setOptions() pour configurer Zend_Session. Example #18 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.
Zend_Application_Resource_ViewZend_Application_Resource_View peut être utilisée pour configurer une instance Zend_View instance. Les clés de configurations sont celles de Zend_View. Dès que l'instance est configurée, ceci crée une instace 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. Example #19 Exemple de configuration d'une ressource de vue Voici un extrait de configuration INI montrant comment configurer une ressource de vue.
|