3.4. Zend_Config_Xml
Poprzedni | Rozdział 3. Zend_Config | Następny

## 3.4. Zend_Config_Xml

### 3.4.1. Wprowadzenie

Klasa `Zend_Config_Xml` umożliwia programistom przechowywanie danych konfiguracyjnych w plikach XML i uzyskanie dostępu do nich jak do właściwości obiektu za pomocą `Zend_Config`.

Przykład 3.4. Dane konfiguracyjne przechowywane w plikach XML

Ten przykład pokazuje proste użycie klasy `Zend_Config_Xml` do ładowania danych konfiguracyjnych z plików XML. Załóżmy, że mamy następujące dane konfiguracyjne w pliku `/path/to/config.xml`:

    <?xml version="1.0"?>
    <config>
        <production>
            <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="production">
            <database>
                <host>dev.example.com</host>
                <username>devuser</username>
                <password>devsecret</password>
            </database>
        </staging>
    </config>

Dziedziczenie jest obsługiwane w składni pliku XML przez użycie atrybutu `extends`. Wartością klucza `extends` powinna być nazwa sekcji z której ma dziedziczyć nowa sekcja. Dane konfiguracyjne są wtedy ładowane z pliku XML w taki sposób:

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

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

    echo $config->database->host; // wyświetla "dev.example.com"
    ?>

| Notatka
Wartości danych konfiguracyjnych z `Zend_Config_Xml` są zawsze traktowane jako łańcuchy znaków.

Poprzedni | Początek rozdziału | Następny
3.3. Zend_Config_Ini | Spis treści | Rozdział 4. Zend_Controller