3.2. Zend_Config_Array
Terug | Hoofdstuk 3. Zend_Config | Volgende

## 3.2. Zend_Config_Array

### 3.2.1. Inleiding

`Zend_Config_Array` laat programmeurs toe om configuratiedata op te slaan in multidimensionele associatieve PHP arrays, die dan kunnen worden aangesproken als objecteigenschappen via `Zend_Config`.

Voorbeeld 3.2. Configuratiedata Opgeslaan in PHP Arrays

Dit voorbeeld illustreert het basisgebruik van `Zend_Config_Array` voor het laden van configuratiedata vanuit PHP arrays. Eerst moeten we PHP arrays aanmaken met configuratiedata:

    <?php
    // Productiesite configuratiedata
    $config['productie'] = array(
        'webhost' => 'www.example.com',
        'database' => array(
            'type'     => 'pdo_mysql',
            'host'     => 'db.example.com',
            'username' => 'dbuser',
            'password' => 'secret',
            'name'     => 'dbname'
        )
    );

    // Ontwikkelingssite configuratiedata erft van productie en
    // overschrijft waardes waar nodig
    $config['staging'] = $config['productie'];
    $config['staging']['webhost'] = 'dev.example.com';
    $config['staging']['database']['host'] = 'dev.example.com';
    $config['staging']['database']['username'] = 'devuser';
    $config['staging']['database']['password'] = 'devsecret';
    ?>

| Opmerking
De array met condfiguratiedata moet `$config` worden genoemd in het ingeladen PHP script.

Erfenis wordt in het voorbeeld hierboven gebruikt door de waarden van de `productie` sectie aan de `staging` sectie toe te schrijven. Nu is het eenvoudig om de configuratiedata via `Zend_Config_Array` in te laden:

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

    $config = new Zend_Config(Zend_Config_Array::load('/pad/naar/config.php', 'staging'));

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

Het moet worden opgemerkt dat, vermits de configuratiedata onmiddellijk aan de PHP arrays worden toegevoegd, elke configuratiedatawaarde hetzelfde type zal hebben als dewelke in de `$config` array werd toegekend.

    <?php
    $config['staging']['debug']   = 'false'; // waarde is een string type
    $config['staging']['console'] = false; // waarde is een boolean type
    $config['staging']['timeout'] = 30; // waarde is een integer type
    ?>

Terug | Omhoog | Volgende
Hoofdstuk 3. Zend_Config | Begin | 3.3. Zend_Config_Ini