1 <sect1 id="zend.config.introduction">
4 تم تصميم <code>Zend_Config</code> لتُبسّط عملية الوصول و أستخدام بيانات الأعدادات "configuration data"
5 داخل التطبيقات , حيث توفرالوصول إلى هذه البيانات بنفس الطريقة المتبعة لقرائة قيمة
6 property فى أى كائن PHP عادى,
7 و يمكن أن تأتى هذه البيانات من عدّة وسائط حفظ بيانات تدعم جفظ البيانات بهيكلة هرمية,
8 فحالياً توفر <code>Zend_Config</code> ادوات لقرائة انواع من البيانات المحفوظة فى ملفات نصية و هى
9 <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link> و
10 <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>.
13 <title>إستخدام Zend_Config Per Se</title>
15 من الطبيعى توقع أن المبرمجين سيستخدمون أحد الـ adapter classes أو الـ "classes التوفيقية" مثل
16 <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link> أو
17 <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>,
18 لكن إن كانت بيانات الأعدادات متوفرة فى مصفوفة PHP عادية, يمكن تمرير هذه البيانات إلى
19 <code>Zend_Config</code> فى الـ constructor , و ذلك يفضل لتغليف البيانات داخل
22 <programlisting role="php"><![CDATA[<?php
23 // Given an array of configuration data
25 'webhost' => 'www.example.com',
27 'type' => 'pdo_mysql',
28 'host' => 'db.example.com',
29 'username' => 'dbuser',
30 'password' => 'secret',
35 // Create the object-oriented wrapper upon the configuration data
36 require_once 'Zend/Config.php';
37 $config = new Zend_Config($configArray);
39 // Print a configuration datum (results in 'www.example.com')
40 echo $config->webhost;
42 // Use the configuration data to connect to the database
43 $myApplicationObject->databaseConnect($config->database->type,
44 $config->database->host,
45 $config->database->username,
46 $config->database->password,
47 $config->database->name);]]></programlisting>
50 كما هو موضح فى المثال السابق , <code>Zend_Config</code> توفر امكانية الوصول إلى البيانات
51 الممرة إليه بنفس الطريقة المتبعة لقرائة قيم property من أى كائن PHP عادى.