Zend_Config_Ini.xml 3.9 KB

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