[ZF-10089] Zend_Log
[zend.git] / documentation / manual / ar / module_specs / Zend_Config_Ini.xml
blob94ee707976491e68f520fa2b3f1191884c3b1f92
1 <sect1 id="zend.config.adapters.ini">
2     <title>Zend_Config_Ini</title>
3     <para>
4         يوفر <code>Zend_Config_Ini</code> للمبرمج امكانية حفظ البيانات الخاصة بإعدادات البرنامج ,
5         و ذلك بصيغة الـ INI المألوفة , ثم تمكنه من قرائه هذه البيانات داخل برنامجه بيسر من خلال
6          استخدامه لنفس القواعد النحوية التى يستخمدها عند قرائته لقيمة محفوظة فى property داخل كائن PHP عادى.
7     </para>
9     <para>
10         صيغة الـ INI  توفر أمكانية إنشاء بيانات مرتبة على شكل هرمى و امكانية التوارث بين أقسام البيانات ,
11         حفظ البيانات بشكل هرمى مدعوم حالياً عن طريق الفصل بين اسماء المفاتيح "Keys" بإستخدام نقطة (<code>.</code>),
12         و يمكن لأى قسم من أقسام البيانات أن يرث من قسم بيانات أخر عن طريق إلحاق أسم القسم بنقطة مزدوجة (<code>:</code>)
13         ثم إلحاقها بأسم القسم الذى سيتم الوراثة منه.
14     </para>
15     <note>
16         <title>parse_ini_file</title>
17         <para>
18             تستخدم <code>Zend_Config_Ini</code> دالة PHP تسمى
19             <ulink url="http://php.net/parse_ini_file"><code>()parse_ini_file</code></ulink> ,
20             يرجى أن تقوم بمراجعة دليل المبرمج الخاص بلغة PHP لتتعرف على سلوك هذه الدالة, و الذى ينطبق على
21             <code>Zend_Config_Ini</code> , مثل كيف يتم التعامل مع القيم الخاصة
22             <code>true</code> و <code>false</code> و
23             <code>yes</code> و <code>no</code> و
24             <code>null</code> .
25         </para>
26     </note>
27     <example>
28         <title>إستخدام Zend_Config_Ini</title>
29         <para>
30             هذا المثال يوضح إستخدام بسيط لـ <code>Zend_Config_Ini</code> لتحميل بيانات الأعدادات
31             من ملف INI , فى هذا المثال يوجد بيانات الأعدادات الخاصة بكل من مرحلة الأنتاج "production"
32             و مرحلة التجهيز "staging" , و لأن بيانات الأعدادات الخاصة بمرحلة الـ staging تتشابه كثيراً مع
33             تلك الخاصة بمرحلة الـ production , فتم جعل قسم بيانات الـ staging يرث من قسم بيانات الـ production ,
34             ربما هذا لا ينطبق على بعض الحالات الأكثر تعقيداً و لكن دعونا نفترض أن بيانات الأعدادت التالية محفوظة
35             على المسار <code>path/to/config.ini/</code> :
36         </para>
37         <programlisting role="ini"><![CDATA[; Production site configuration data
38 [production]
39 webhost           = www.example.com
40 database.type     = pdo_mysql
41 database.host     = db.example.com
42 database.username = dbuser
43 database.password = secret
44 database.name     = dbname
46 ; Staging site configuration data inherits from production and
47 ; overrides values as necessary
48 [staging : production]
49 database.host     = dev.example.com
50 database.username = devuser
51 database.password = devsecret]]></programlisting>
52         <para>
53             الأن و لنفترض أن مطور البرنامج يريد تحميل بيانات الأعدادات الخاصة بمرحلة الـ staging من ملف الـ INI ,
54             بالفعل إنه من السهل تحميل هذه البيانات فقط عن طريق تحديد مسار ملف الـ INI و أسم قسم البيانات staging :
55         </para>
56         <programlisting role="php"><![CDATA[<?php
57 require_once 'Zend/Config/Ini.php';
59 $config = new Zend_Config_Ini('/path/to/config.ini', 'staging');
61 echo $config->database->host; // prints "dev.example.com"
62 echo $config->database->name; // prints "dbname"]]></programlisting>
63     </example>
64 </sect1>
65 <!--
66 vim:se ts=4 sw=4 et:
67 -->