3.3. Zend_Config_Ini

3.3.1. Einführung

Zend_Config_Ini ermöglicht es Entwicklern Konfigurationsdaten im beliebten INI-Format zu speichern und über die Objekteigenschaften von Zend_Config auszulesen.

Beispiel 3.3. In einer INI-Datei gespeicherte Konfigurationsdaten

Dieses Beispiel zeigt die einfache Nutzung von Zend_Config_Ini um Konfigurationsdaten aus einer INI-Datei zu laden. Angenommen die Konfigurationsdaten befinden sich in /path/to/config.ini:

; Konfigurationsdaten für Produktionsseite
[production]
webhost           = www.example.com
database.type     = pdo_mysql
database.host     = db.example.com
database.username = dbuser
database.password = secret
database.name     = dbname

; Staging Konfigurationsdaten erben von Produktion 
; und werden überschrieben wenn notwenig
[staging]
extends = production
database.host     = dev.example.com
database.username = devuser
database.password = devsecret
                
[Anmerkung] Anmerkung
Zu beachten ist, dass die Syntax der INI-Datei ähnlich ist wie die für die parse_ini_file() PHP-Funktion, welche von Zend_Config_Ini aufgerufen wird. Bitte diese Dokumentation beachten um über das spezielle Verhalten von Zend_Config_Ini informiert zu sein, zum Beispiel wie die speziellen Werte von true, false, yes, no und null übersetzt werden.

Vererbung wird in der INI-Syntax durch Verwendung des Schlüsselwortes extends unterstützt. Der Wert von extends sollte dem Namen des Abschnitts entsprechen, von dem geerbt werden soll. Die Konfgurationsdaten werden anschließend aus 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; // gibt "dev.example.com" aus
?>