3.3. Zend_Config_Ini

3.3.1. Einführung

Zend_Config_Ini ermöglicht es Entwicklern Konfigurations Daten im beliebten INI Format zu speichern und über die Objekt Eigenschaften mithilfe von Zend_Config zu lesen.

Beispiel 3.3. In einer INI Daten gespeicherte Konfigurations Daten

Dieses Beispiel zeigt die einfache Nutzung von Zend_Config_Ini für das Laden von Konfigurations Daten aus einer INI Daten. Angenommen die Konfigurations Daten sind in /path/to/config.ini:

; Produktions Site Konfigurations Daten
[production]
webhost           = www.example.com
database.type     = pdo_mysql
database.host     = db.example.com
database.username = dbuser
database.password = secret
database.name     = dbname

; Staging Site Konfigurations Daten erben von Produktion und
; überladen Werte wenn notwenig
[staging]
extends = production
database.host     = dev.example.com
database.username = devuser
database.password = devsecret
                

[Anmerkung] Anmerkung
Zu Beachten ist das die Syntax der INI Datei ähnlich ist wie durch die parse_ini_file() PHP Funktion erwartete, welche Zend_Config_Ini anwendet. Bitte dieses Dokument beachten um über das spezielle Verhalten von Zend_Config_Ini informiert zu sein, wie zum Beispiel die speziellen Werte von true, false, yes, no, und null übersetzt werden.

Vererbung wird in der INI Syntax unterstützt durch Verwendung des Schlüsselwortes extends. Der Wert des extends Schlüssels sollte im Namen der Sektion enthalten sein, von der die Erweiterte Sektion abgeleitet wird. Die Konfgurations Daten werden anschließend von der INI Datei geladen:

<?php
require_once 'Zend/Config.php';
require_once 'Zend/Config/Ini.php';

$config = new Zend_Config(Zend_Config_Ini::load('/path/to/config.ini', 'staging'));

echo $config->database->host; // Druckt "dev.example.com"
?>