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 Entwicklern, auf Konfigurations Daten, die in einem mehrdimensionalen assoziativen PHP Array gespeichert sind, mit Hilfe der Objekt Eigenschaften durch `Zend_Config` zuzugreifen.

Beispiel 3.2. In einem PHP Array gespeicherte Konfigurations Daten

Dieses Beispiel zeigt die einfache Nutzung von `Zend_Config_Array` für das Laden von Konfigurations Daten aus einem PHP Array. Zuerst, wird ein PHP Array erstellt welches die Konfigurations Daten enthält:

    <?php
    // Konfigurations Daten der Produktions Site
    $config['production'] = array(
        'webhost' => 'www.example.com',
        'database' => array(
            'type'     => 'pdo_mysql',
            'host'     => 'db.example.com',
            'username' => 'dbuser',
            'password' => 'secret',
            'name'     => 'dbname'
        )
    );

    // Staging Site Konfigurations Daten vererbt von der Produktions Site und
    // Werte überladen wo notwenig
    $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 Array mit den Konfigurations Daten muß im geladenen PHP Skript `$config` genannt werden.

Vererbung wird im obigen Beispiel durch eine Verknüpfung der `production` Sektionswerte zu der `staging` Sektion unterstützt. Jetzt ist es eine einfache Angelegenheit die Konfigurations Daten mit `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; // Druckt "dev.example.com"
    ?>

Es ist zu Beachten das alle Werte der Konfigurations Daten, weil diese direkt einem PHP Array hinzugefügt werden, den selben Daten Typ haben, wie das im PHP Skript enthaltene `$config` Array.

    <?php
    $config['staging']['debug']   = 'false'; // Der Wert ist ein String Typ
    $config['staging']['console'] = false;   // Der Wert ist ein Boolean Typ
    $config['staging']['timeout'] = 30;      // Der wert ist ein Integer Typ
    ?>

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