Zend_Config_Ini.xml 4.1 KB

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