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