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