1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24312 -->
<!-- Reviewed: no -->
<sect2 id="zend.application.available-resources.cachemanager">
<title>Zend_Application_Resource_Cachemanager</title>
<para>
<classname>Zend_Application_Resource_Cachemanager</classname> peut être utilisé
pour configurer un jeu d'ensemble d'options <classname>Zend_Cache</classname>
permettant de paramétrer des caches à chargement tardifs ("lazy loading") avec
<classname>Zend_Cache_Manager</classname>
</para>
<para>
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.
</para>
<example id="zend.application.available-resources.cachemanager.configExample">
<title>Exemple de configuration d'une ressource de gestionnaire de cache</title>
<para>
Ci-dessous vous trouverez un extrait de fichier <acronym>INI</acronym> montrant
comment <classname>Zend_Cache_Manager</classname> peut être configuré. Le
format est le préfixe de la ressource Cachemanager
(<property>resources.cachemanager</property>) suivi par le nom d'un modèle (par
exemple <property>resources.cachemanager.database</property>) et
finalement suivi par une option habituelle de <classname>Zend_Cache</classname>.
</para>
<programlisting language="ini"><![CDATA[
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
]]></programlisting>
<para>
Ensuite récupérer ce cache à partir du gestionnaire est aussi simple que d'accéder
à une instance de gestionnaire (<classname>Zend_Cache_Manager</classname>) récupéré
à partir de <classname>Zend_Application_Resource_Cachemanager</classname> et d'appeler
<methodname>$cacheManager->getCache('database')</methodname>. 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
<methodname>getCacheManager()</methodname> pour récupérer l'instance de
<classname>Zend_Cache_Manager</classname> préparée dans le bootstrap.
</para>
<programlisting language="php"><![CDATA[
$manager = $this->getFrontController()
->getParam('bootstrap')
->getPluginResource('cachemanager')
->getCacheManager();
$dbCache = $manager->getCache('database');
]]></programlisting>
<para>
Reportez-vous à la méthode <methodname>Zend_Cache::factory()</methodname> 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 <acronym>INI</acronym> de
l'exemple ci-dessus.
</para>
</example>
</sect2>
|