Zend_Application-AvailableResources-CacheManager.xml 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  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> kann verwendet werden um ein
  8. Bündel von <classname>Zend_Cache</classname> Optionen zu setzen die verwendet werden sollen
  9. wenn Caches lazy geladen werden bei der Verwendung von
  10. <classname>Zend_Cache_Manager</classname>
  11. </para>
  12. <para>
  13. Da der Cache Manager ein Lazy Loading Mechanismus ist, werden die Optionen auf Options
  14. Templates übersetzt welche verwendet werden um ein Cache Objekt auf Anfrage zu
  15. initialisieren.
  16. </para>
  17. <example id="zend.application.available-resources.cachemanager.configExample">
  18. <title>Beispiel einer Cachemanager Ressource Konfiguration</title>
  19. <para>
  20. Anbei ist eine Beispiel <acronym>INI</acronym> Datei die zeigt wie
  21. <classname>Zend_Cache_Manager</classname> konfiguriert werden kann. Das Format ist der
  22. Präfix der Cachemanager Ressource (<property>resources.cachemanager</property>) gefolgt
  23. von dem Namen der einer Cache Template/Bündel Option zugeordnet werden soll (z.B.
  24. <property>resources.cachemanager.database</property>) und letztendlich gefolgt von einer
  25. typischen <classname>Zend_Cache</classname> Option.
  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. Das Empfangen dieses Caches vom Cache Manager ist in Wirklichkeit so einfach wie
  39. der Zugriff auf eine Instanz des Managers (<classname>Zend_Cache_Manager</classname>)
  40. was von <classname>Zend_Application_Resource_Cachemanager</classname> empfangen wird
  41. beim Aufruf von <command>$cacheManager->getCache('database');</command>. Das folgende
  42. Beispiel ist von einem Controller genommen bei dem auf die Bootstrap Klasse als Front
  43. Controller Parameter zugegriffen werden kann (welcher automatisch wärend des
  44. bootstrappens zugeordnet wird). Wie man sehen kann implementiert die Cache Manager
  45. Ressource eine <methodname>getCacheManager()</methodname> Methode um die ge-bootstrappte
  46. Instanz von <classname>Zend_Cache_Manager</classname> zu erhalten.
  47. </para>
  48. <programlisting language="php"><![CDATA[
  49. $manager = $this->getFrontController()
  50. ->getParam('bootstrap')
  51. ->getResource('cachemanager')
  52. ->getCacheManager();
  53. $dbCache = $manager->getCache('database');
  54. ]]></programlisting>
  55. <para>
  56. Siehe auch die Methode <methodname>Zend_Cache::factory()</methodname> um eine
  57. Beschreibung der Standardwerte zu bekommen welche man zuordnen kann wenn ein Cache
  58. über eine Konfigurationsdatei konfiguriert wurde wie im obigen Beispiel einer
  59. <acronym>INI</acronym> Datei.
  60. </para>
  61. </example>
  62. </sect2>