3.2. Zend_Config_Array
Zurück | Kapitel 3. Zend_Config | Weiter

## 3.2. Zend_Config_Array

### 3.2.1. Einführung

`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
    ?>

Zurück | Nach oben | Weiter
Kapitel 3. Zend_Config | Zum Anfang | 3.3. Zend_Config_Ini