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] Notatka
Wartości danych konfiguracyjnych z Zend_Config_Xml są zawsze traktowane jako łańcuchy znaków.