Zend_Config_Array ermöglicht es mit Hilfe der Objekteigenschaften von
Zend_Config auf Konfigurationsdaten, welche in einem mehrdimensionalen assoziativen
PHP-Array gespeichert sind, zuzugreifen.
Beispiel 3.2. In einem PHP-Array gespeicherte Konfigurationsdaten
Dieses Beispiel zeigt die einfache Nutzung von Zend_Config_Array für das Laden von
Konfigurationsdaten aus einem PHP-Array. Zuerst wird ein PHP-Array erstellt welches die
Konfigurationsdaten enthält:
<?php
// Konfigurationsdaten für Produktionsseite
$config['production'] = array(
'webhost' => 'www.example.com',
'database' => array(
'type' => 'pdo_mysql',
'host' => 'db.example.com',
'username' => 'dbuser',
'password' => 'secret',
'name' => 'dbname'
)
);
// Staging Konfigurationsdaten erben von Produktion
// und werden überschrieben wenn notwendig
$config['staging'] = $config['production'];
$config['staging']['webhost'] = 'dev.example.com';
$config['staging']['database']['host'] = 'dev.example.com';
$config['staging']['database']['username'] = 'devuser';
$config['staging']['database']['password'] = 'devsecret';
?>
![]() |
Anmerkung |
|---|---|
Das zu ladende Array mit den Konfigurationsdaten muß $config genannt werden.
|
Im obigen Beispeil sieht man, wie durch Vererbung Werte des production Abschnitts dem staging
Abschnitt zugewiesen werden. Damit ist es nun leicht Konfigurationsdaten per Zend_Config_Array zu laden:
<?php
require_once 'Zend/Config.php';
require_once 'Zend/Config/Array.php';
$config = new Zend_Config(Zend_Config_Array::load('/path/to/config.php', 'staging'));
echo $config->database->host; // gibt "dev.example.com" aus
?>
Zu beachten ist, dass alle Werte der Konfigurationsdaten den selben Datentyp wie das im PHP Skript enthaltene
$config Array besitzen, weil diese direkt einem PHP-Array hinzugefügt werden.
<?php $config['staging']['debug'] = 'false'; // Der Wert ist vom Typ String $config['staging']['console'] = false; // Der Wert ist vom Typ Boolean $config['staging']['timeout'] = 30; // Der wert ist vom Typ Integer ?>