Zend_Application-AvailableResources-CacheManager.xml 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24312 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.application.available-resources.cachemanager">
  5. <title>Zend_Application_Resource_Cachemanager</title>
  6. <para>
  7. <classname>Zend_Application_Resource_Cachemanager</classname> peut être utilisé
  8. pour configurer un jeu d'ensemble d'options <classname>Zend_Cache</classname>
  9. permettant de paramétrer des caches à chargement tardifs ("lazy loading") avec
  10. <classname>Zend_Cache_Manager</classname>
  11. </para>
  12. <para>
  13. Comme le gestionnaire de cache est un mécanisme à chargement tardif, les options
  14. sont traduites en modèle d'options utilisé pour instancier un objet de cache à
  15. la demande.
  16. </para>
  17. <example id="zend.application.available-resources.cachemanager.configExample">
  18. <title>Exemple de configuration d'une ressource de gestionnaire de cache</title>
  19. <para>
  20. Ci-dessous vous trouverez un extrait de fichier <acronym>INI</acronym> montrant
  21. comment <classname>Zend_Cache_Manager</classname> peut être configuré. Le
  22. format est le préfixe de la ressource Cachemanager
  23. (<property>resources.cachemanager</property>) suivi par le nom d'un modèle (par
  24. exemple <property>resources.cachemanager.database</property>) et
  25. finalement suivi par une option habituelle de <classname>Zend_Cache</classname>.
  26. </para>
  27. <programlisting language="ini"><![CDATA[
  28. resources.cachemanager.database.frontend.name = Core
  29. resources.cachemanager.database.frontend.customFrontendNaming = false
  30. resources.cachemanager.database.frontend.options.lifetime = 7200
  31. resources.cachemanager.database.frontend.options.automatic_serialization = true
  32. resources.cachemanager.database.backend.name = File
  33. resources.cachemanager.database.backend.customBackendNaming = false
  34. resources.cachemanager.database.backend.options.cache_dir = "/path/to/cache"
  35. resources.cachemanager.database.frontendBackendAutoload = false
  36. ]]></programlisting>
  37. <para>
  38. Ensuite récupérer ce cache à partir du gestionnaire est aussi simple que d'accéder
  39. à une instance de gestionnaire (<classname>Zend_Cache_Manager</classname>) récupéré
  40. à partir de <classname>Zend_Application_Resource_Cachemanager</classname> et d'appeler
  41. <methodname>$cacheManager->getCache('database')</methodname>. L'exemple ci-dessous
  42. est extrait d'un contrôleur dans lequel la classe de bootstrap est accessible via un
  43. paramètre du contrôleur frontal (qui est automatiquement assigné lors de l'amorçage).
  44. Comme vous pouvez le voir, la ressource de gestionnaire de cache implémente la méthode
  45. <methodname>getCacheManager()</methodname> pour récupérer l'instance de
  46. <classname>Zend_Cache_Manager</classname> préparée dans le bootstrap.
  47. </para>
  48. <programlisting language="php"><![CDATA[
  49. $manager = $this->getFrontController()
  50. ->getParam('bootstrap')
  51. ->getPluginResource('cachemanager')
  52. ->getCacheManager();
  53. $dbCache = $manager->getCache('database');
  54. ]]></programlisting>
  55. <para>
  56. Reportez-vous à la méthode <methodname>Zend_Cache::factory()</methodname> pour avoir
  57. une description des valeurs par défaut que vous pouvez affecter lors de la configuration
  58. du cache via un fichier de configuration comme le fichier <acronym>INI</acronym> de
  59. l'exemple ci-dessus.
  60. </para>
  61. </example>
  62. </sect2>