3.4. Zend_Config_Xml

3.4.1. Inleiding

Zend_Config_Xml laat developeurs toe om configuratiedata in een eenvoudig XML formaat op te slaan en ze te lezen via objecteigenschappen door middel van Zend_Config.

Voorbeeld 3.4. Configuratiedata Opgeslaan in XML Bestanden

Dit voorbeeld illustreert het basisgebruik van Zend_Config_Xml voor het laden van configuratiedata vanuit een XML bestand. Veronderstel dat we de volgende configuratiedata in een /pad/naar/config.xml bestand hebben:

<?xml version="1.0"?>
<config>
    <productie>
        <webhost>www.example.com</webhost>
        <database>
            <type>pdo_mysql</type>
            <host>db.example.com</host>
            <username>dbuser</username>
            <password>secret</password>
            <name>dbname</name>
        </database>
    </production>
    <staging extends="productie">
        <database>
            <host>dev.example.com</host>
            <username>devuser</username>
            <password>devsecret</password>
        </database>
    </staging>
</config>

Erfelijkheid word ondersteund in de XML syntax door het gebruik van het attribuut extends. De waarde van het extends attribuut moet dezelfde zijn als de naam van de sectie waarvan de verwijzende sectie moet overerven. De configuratiedata wordt dan ingeladen van het XML bestand:

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

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

echo $config->database->host; // prints "dev.example.com"
?>       
[Opmerking] Opmerking
Configuratiedatawaarden van Zend_Config_Xml worden altijd als strings beschouwd.