<sect1 id="zend.config.introduction">
    <title>مقدمة</title>
    <para>
        تم تصميم <code>Zend_Config</code> لتُبسّط عملية الوصول و أستخدام بيانات الأعدادات "configuration data"
        داخل التطبيقات , حيث توفرالوصول إلى هذه البيانات بنفس الطريقة المتبعة لقرائة قيمة
        property فى أى كائن PHP عادى,
        و يمكن أن تأتى هذه البيانات من عدّة وسائط حفظ بيانات  تدعم جفظ البيانات بهيكلة هرمية,
        فحالياً توفر <code>Zend_Config</code> ادوات لقرائة انواع من البيانات المحفوظة فى ملفات نصية و هى
        <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link> و
        <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>.
    </para>
    <example>
        <title>إستخدام Zend_Config Per Se</title>
        <para>
            من الطبيعى توقع أن المبرمجين سيستخدمون أحد الـ adapter classes أو الـ "classes التوفيقية" مثل
            <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link> أو
            <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>,
            لكن إن كانت بيانات الأعدادات متوفرة فى مصفوفة PHP عادية, يمكن تمرير هذه البيانات إلى
            <code>Zend_Config</code> فى الـ constructor , و ذلك يفضل لتغليف البيانات داخل
            واجهة كأنية.
        </para>
        <programlisting role="php"><![CDATA[<?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);]]></programlisting>
    </example>
    <para>
        كما هو موضح فى المثال السابق , <code>Zend_Config</code> توفر امكانية الوصول إلى البيانات
        الممرة إليه بنفس الطريقة المتبعة لقرائة قيم property من أى كائن PHP عادى.
    </para>
</sect1>
<!--
vim:se ts=4 sw=4 et:
-->
