Zend_Application-AvailableResources-CacheManager.xml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 22140 -->
  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>
  8. kann verwendet werden um ein
  9. Bündel von
  10. <classname>Zend_Cache</classname>
  11. Optionen zu setzen die verwendet werden sollen
  12. wenn Caches lazy geladen werden bei der Verwendung von
  13. <classname>Zend_Cache_Manager</classname>
  14. </para>
  15. <para>
  16. Da der Cache Manager ein Lazy Loading Mechanismus ist, werden die
  17. Optionen auf Options
  18. Templates übersetzt welche verwendet werden um ein Cache Objekt auf Anfrage zu
  19. initialisieren.
  20. </para>
  21. <example
  22. id="zend.application.available-resources.cachemanager.configExample">
  23. <title>Beispiel einer Cachemanager Ressource Konfiguration</title>
  24. <para>
  25. Anbei ist eine Beispiel
  26. <acronym>INI</acronym>
  27. Datei die zeigt wie
  28. <classname>Zend_Cache_Manager</classname>
  29. konfiguriert werden kann. Das Format ist der
  30. Präfix der Cachemanager Ressource (
  31. <property>resources.cachemanager</property>
  32. ) gefolgt
  33. von dem Namen der einer Cache Template/Bündel Option zugeordnet werden
  34. soll (z.B.
  35. <property>resources.cachemanager.database</property>
  36. ) und letztendlich gefolgt von einer
  37. typischen
  38. <classname>Zend_Cache</classname>
  39. Option.
  40. </para>
  41. <programlisting language="ini"><![CDATA[
  42. resources.cachemanager.database.frontend.name = Core
  43. resources.cachemanager.database.frontend.customFrontendNaming = false
  44. resources.cachemanager.database.frontend.options.lifetime = 7200
  45. resources.cachemanager.database.frontend.options.automatic_serialization = true
  46. resources.cachemanager.database.backend.name = File
  47. resources.cachemanager.database.backend.customBackendNaming = false
  48. resources.cachemanager.database.backend.options.cache_dir = "/path/to/cache"
  49. resources.cachemanager.database.frontendBackendAutoload = false
  50. ]]></programlisting>
  51. <para>
  52. Das Empfangen dieses Caches vom Cache Manager ist in Wirklichkeit so
  53. einfach wie
  54. der Zugriff auf eine Instanz des Managers (
  55. <classname>Zend_Cache_Manager</classname>
  56. )
  57. was von
  58. <classname>Zend_Application_Resource_Cachemanager</classname>
  59. empfangen wird
  60. beim Aufruf von
  61. <command>$cacheManager->getCache('database');</command>
  62. . Das folgende
  63. Beispiel ist von einem Controller genommen bei dem auf die Bootstrap Klasse
  64. als Front
  65. Controller Parameter zugegriffen werden kann (welcher automatisch wärend des
  66. bootstrappens zugeordnet wird). Wie man sehen kann implementiert die
  67. Cache Manager
  68. Ressource eine
  69. <methodname>getCacheManager()</methodname>
  70. Methode um die ge-bootstrappte
  71. Instanz von
  72. <classname>Zend_Cache_Manager</classname>
  73. zu erhalten.
  74. </para>
  75. <programlisting language="php"><![CDATA[
  76. $manager = $this->getFrontController()
  77. ->getParam('bootstrap')
  78. ->getResource('cachemanager')
  79. ->getCacheManager();
  80. $dbCache = $manager->getCache('database');
  81. ]]></programlisting>
  82. <para>
  83. Siehe auch die Methode
  84. <methodname>Zend_Cache::factory()</methodname>
  85. um eine
  86. Beschreibung der Standardwerte zu bekommen welche man zuordnen kann wenn ein
  87. Cache
  88. über eine Konfigurationsdatei konfiguriert wurde wie im obigen Beispiel
  89. einer
  90. <acronym>INI</acronym>
  91. Datei.
  92. </para>
  93. </example>
  94. </sect2>