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