Dsao_Config_Loader Klassenreferenz

Konfigurationsverwaltung. Mehr ...

Aufstellung aller Elemente

Öffentliche Methoden

 __construct ($filenameConfig, $dirCache, $section=null)
 Initialisiert Klassenvariablen.
 __get ($property)
 Konfigurationen einlesen.
 getConfig ()
 Gibt die Konfiguration zurück.

Geschützte Methoden

 _cacheConfig ()
 Versucht, die Konfiguration serialisiert zwischen zu speichern.
 _loadCachedConfig ()
 Versucht, die serialisierte Konfiguration aus einer Datei zu laden.

Geschützte Attribute

 $_config = null
 Zend_Config_Ini, Konfigurationsobjekt.
 $_dirCache = null
 string, Vollständiger Pfad zur cached-Konfiguration, sofern vorhanden
 $_filenameCache = null
 string, Datei, die serialisierte Konfiguration enthält
 $_filenameConfig = null
 string, Vollständiger Pfad zur Konfigurationsdatei
 $_section = null
 string, Zu ladende Konfigurationssektion


Ausführliche Beschreibung

Konfigurationsverwaltung.

Autor:
DSAo-Md

http://www.gnu.org/licenses/gpl-3.0.html GNU Public License

Version:
SVN: $Id: Loader.php 510 2009-05-29 20:04:37Z bregnitzhof $

Definiert in Zeile 9 der Datei Loader.php.


Beschreibung der Konstruktoren und Destruktoren

Dsao_Config_Loader::__construct ( filenameConfig,
dirCache,
section = null 
)

Initialisiert Klassenvariablen.

Parameter:
$filenameConfig string, Konfigurationsdatei
$dirCache string, Verzeichnisangabe
$section string, Zu ladende Sektion
Rückgabe:
void

Definiert in Zeile 44 der Datei Loader.php.

00045   {
00046     // Parameter übernehmen
00047     $this->_dirCache        = $dirCache;
00048 
00049     // Falls Caching-Verzeichnis nicht les- oder schreibbar
00050     if (!is_readable($this->_dirCache) || !is_writable($this->_dirCache))
00051     {
00052       throw new Dsao_Exception('dsao_config_cache_directory');
00053     }
00054 
00055     $this->_filenameCache   = $dirCache.'config';
00056     $this->_filenameConfig  = $filenameConfig;
00057 
00058     // Falls Konfigurationsdatei nicht lesbar
00059     if (!is_readable($this->_filenameConfig))
00060     {
00061       throw new Dsao_Exception('dsao_config_file_not_readable');
00062     }
00063 
00064     $this->_section         = $section;
00065   }


Dokumentation der Elementfunktionen

Dsao_Config_Loader::__get ( property  ) 

Konfigurationen einlesen.

Parameter:
$property string, Konfigurationseigenschaft
Rückgabe:
mixed, Konfigurationswert

Definiert in Zeile 73 der Datei Loader.php.

Benutzt getConfig().

00074   {
00075     return $this->getConfig()->$property;
00076   }

Dsao_Config_Loader::_cacheConfig (  )  [protected]

Versucht, die Konfiguration serialisiert zwischen zu speichern.

Rückgabe:
bool, Ob zwischenspeichern erfolgreich war

Definiert in Zeile 83 der Datei Loader.php.

Wird benutzt von getConfig().

00084   {
00085     // Falls Konfiguration noch nicht initialisiert wurde, abbrechen
00086     if (null == $this->_config)
00087     {
00088       return false;
00089     }
00090 
00091     // Serialisiertes Objekt in Datei schreiben
00092     return (bool) @file_put_contents
00093       ($this->_filenameCache, serialize($this->_config));
00094   }

Dsao_Config_Loader::_loadCachedConfig (  )  [protected]

Versucht, die serialisierte Konfiguration aus einer Datei zu laden.

Rückgabe:
null|Zend_Config_Ini, Deserialisierte Konfiguration, oder null

Definiert in Zeile 101 der Datei Loader.php.

Wird benutzt von getConfig().

00102   {
00103     // Falls Datei vorhanden, Inhalt laden und deserialisieren
00104     if (is_file($this->_filenameCache))
00105     {
00106       $config =  unserialize($content = file_get_contents($this->_filenameCache));
00107 
00108       // Falls md5 übereinstimmen
00109       if (md5($content) == $config->config->md5)
00110       {
00111         return $config;
00112       }
00113       // ansonsten Konfigurationsdatei löschen (damit es nicht zu Problemen
00114       // kommt, wenn das Caching deaktiviert wurde)
00115       else
00116       {
00117         unlink($this->_filenameCache);
00118       }
00119     }
00120 
00121     return null;
00122   }

Dsao_Config_Loader::getConfig (  ) 

Gibt die Konfiguration zurück.

Rückgabe:
Zend_Config_Ini, Konfigurationsobjekt

Definiert in Zeile 129 der Datei Loader.php.

Benutzt _cacheConfig() und _loadCachedConfig().

Wird benutzt von __get().

00130   {
00131     // Falls Konfiguration noch nicht initalisiert wurde
00132     if (null === $this->_config)
00133     {
00134       // Falls Konfiguration nicht zwischengespeichert worden ist
00135       if (!$this->_config = $this->_loadCachedConfig())
00136       {
00137         // Standardkonfiguration laden
00138         $this->_config = new Dsao_Config_Ini
00139           ($this->_filenameConfig.'.dist', $this->_section, true);
00140         // Mit lokaler Konfiguration überschreiben
00141         $this->_config->merge(new Dsao_Config_Ini
00142           ($this->_filenameConfig, $this->_section));
00143 
00144         // Temporaeres Verzeichnis festlegen
00145         $this->_config->tempDir = TEMP_DIR;
00146 
00147         // MD5 der Konfigurationsdatei
00148         $this->_config->config->md5 = md5
00149           (file_get_contents($this->_filenameConfig));
00150 
00151         // Konfiguration vor Änderungen schützen
00152         $this->_config->setReadOnly();
00153 
00154         // Falls Konfiguration zwischengespeichert werden soll
00155         if ($this->_config->config->caching)
00156         {
00157           $this->_cacheConfig();
00158         }
00159       }
00160     }
00161 
00162     return $this->_config;
00163   }


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Fri Sep 18 19:04:12 2009 für DSA online - Morgendaemmerung von  doxygen 1.5.7.1