3.4. Zend_Config_Xml

3.4.1. مقدمة

يوفر Zend_Config_Xml للمطور امكانية قرائة بيانات الـ configuration من ملف XML ذو بنية بسيطة , حيث سيكن فى استطاعته بعدها استخدام البيانات عن طريق قرائة قيم الـ properties فى الـ object الذى سينشئه من Zend_Config .

مثال 3.4. بيانات الـ Configuration المحفوظة على هيئة XML

هذا المثال يوضح مثال بسيط فى استخدام Zend_Config_XML لتحميل بيانات configuration من ملف XML , لنفترض اننا نضع هذه البيانات فى ملف على المسار 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>

تم دعم الوراثة لتتوافق مع القواعد النحوية الخاصة بالـ XML عن طريق إستخدام الـ attribute المسمى extends , قيمة الـ attribute المسمى extends يجب ان تكون اسم القسم الذى سيتم الوراثة منه. الأن سنقوم بتحميل البيانات من ملف الـ XML :

<?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; // prints "dev.example.com"
?>       
[ملاحظة] ملاحظة
البيانات التى يتم قرائتها عن طريق Zend_Config_Xml يتم اعتبارها دائما على انها من النوع string .