Zend_Config_Ini
Zend_Config_Ini ermöglicht es Entwicklern, Konfigurations-Daten in
einem vertrauten INI-Format zu speichern und sie mit einer Syntax auszulesen, die dem
Zugriff auf die Eigenschaften verschachtelter Objekte entspricht. Das verwendete INI-Format
bietet einerseits die Möglichkeit, Konfigurations-Daten hierarchisch abzulegen und
andererseits Vererbung zwischen Sektionen zu spezifizieren. Konfigurations-Daten-Hierarchien
werden durch das Trennen der Schlüsselwörter durch einen Punkt (.). Eine
Sektion kann eine andere Sektion erweitern oder beerben indem man nach dem Sektionsname
einen Doppelpunkt (:) notiert, gefolgt vom Namen der zu beerbenden Sektion.
Die Ini Datei parsen
Zend_Config_Ini verwendet die PHP-Funktion
parse_ini_file(). Deren
Dokumentation klärt über spezielle Verhaltensweisen auf, die sich auch auf
Zend_Config_Ini auswirken, z. B. wie die besonderen Werte
TRUE, FALSE, yes, no und
NULL gehandhabt werden.
Schlüssel Trenner
Standardmäßig ist das Schlüssel Trennzeichen der Punkt (.). Dies kann
geändert werden, indem der $options Schlüssel
'nestSeparator' geändert wird, wenn das
Zend_Config_Ini Objekt instanziert wird.
Zum Beispiel:
Zend_Config_Ini benutzen
Dieses Beispiel zeigt die grundlegende Nutzung von
Zend_Config_Ini um Konfigurations-Daten aus einem XML-File zu
laden. In diesem Beispiel gibt es Konfigurations-Daten für ein Produktiv- und ein
Staging-System. Da sich die Daten für das Staging-System nur unwesentlich von denen für
das Produktiv-System unterscheiden, erbt das Staging-System vom Produktiv-System. In
diesem Fall ist die Entscheidung darüber, welche Sektion von welcher erben soll,
willkürlich und es könnte auch anders herum gemacht werden. In komplexeren Fällen ist
das möglicherweise nicht der Fall. Nehmen wir also an, dass sich die folgenden
Konfigurations-Daten in der Datei /path/to/config.ini befinden:
Nehmen wir weiterhin an, dass der Anwendungs-Entwickler die Staging-Konfiguration aus
diesem INI-File benötigt. Es ist ein Leichtes, diese Daten zu laden, es muss nur das
INI-File und die Staging-Sektion spezifiziert werden:
database->params->host; // Ausgabe "dev.example.com"
echo $config->database->params->dbname; // Ausgabe "dbname"
]]>
Zend_Config_Ini Kontruktor Parameter
Parameter
Notizen
$filename
The INI Datei die geladen wird.
$section
Die [section] innerhalb der ini Datei die geladen wird. Das Setzen dieses
Parameters auf null lädt alle Sektionen. Alternativ, kann ein Array von
Sektionsnamen übergeben werden um mehrere Sektionen zu laden.
$options = false
Options Array. Die folgenden Schlüssel werden unterstützt:
allowModifications: Auf true gesetzt
erlaubt es weiterführende Modifikationen der geladenen Datei.
Standardmäßig auf false gestellt
nestSeparator: Auf das Zeichen zu setzen
das als Abschnitts Separator verwendet wird. Standardmäßig auf
"." gestellt