فصل 5. Zend_Config

قائمة المحتويات

5.1. مقدمة
5.2. نظرية العمل
5.3. Zend_Config_Ini
5.4. Zend_Config_Xml

5.1. مقدمة

تم تصميم Zend_Config لتُبسّط عملية الوصول و أستخدام بيانات الأعدادات "configuration data" داخل التطبيقات , حيث توفرالوصول إلى هذه البيانات بنفس الطريقة المتبعة لقرائة قيمة property فى أى كائن PHP عادى, و يمكن أن تأتى هذه البيانات من عدّة وسائط حفظ بيانات تدعم جفظ البيانات بهيكلة هرمية, فحالياً توفر Zend_Config ادوات لقرائة انواع من البيانات المحفوظة فى ملفات نصية و هى Zend_Config_Ini و Zend_Config_Xml.

مثال 5.1. إستخدام Zend_Config Per Se

من الطبيعى توقع أن المبرمجين سيستخدمون أحد الـ adapter classes أو الـ "classes التوفيقية" مثل Zend_Config_Ini أو Zend_Config_Xml, لكن إن كانت بيانات الأعدادات متوفرة فى مصفوفة PHP عادية, يمكن تمرير هذه البيانات إلى Zend_Config فى الـ constructor , و ذلك يفضل لتغليف البيانات داخل واجهة كأنية.

<?php
// Given an array of configuration data
$configArray = array(
    'webhost' => 'www.example.com',
    'database' => array(
        'type'     => 'pdo_mysql',
        'host'     => 'db.example.com',
        'username' => 'dbuser',
        'password' => 'secret',
        'name'     => 'dbname'
    )
);

// Create the object-oriented wrapper upon the configuration data
require_once 'Zend/Config.php';
$config = new Zend_Config($configArray);

// Print a configuration datum (results in 'www.example.com')
echo $config->webhost;

// Use the configuration data to connect to the database
$myApplicationObject->databaseConnect($config->database->type,
                                      $config->database->host,
                                      $config->database->username,
                                      $config->database->password,
                                      $config->database->name);

كما هو موضح فى المثال السابق , Zend_Config توفر امكانية الوصول إلى البيانات الممرة إليه بنفس الطريقة المتبعة لقرائة قيم property من أى كائن PHP عادى.