| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <sect1 id="zend.config.adapters.ini">
- <title>Zend_Config_Ini</title>
- <para>
- يوفر
- <code>Zend_Config_Ini</code>
- للمبرمج امكانية حفظ البيانات الخاصة بإعدادات البرنامج ,
- و ذلك بصيغة الـ INI المألوفة , ثم تمكنه من قرائه هذه البيانات داخل
- برنامجه بيسر من خلال
- استخدامه لنفس القواعد النحوية التى يستخمدها عند قرائته لقيمة محفوظة فى
- property داخل كائن PHP عادى.
- </para>
- <para>
- صيغة الـ INI توفر أمكانية إنشاء بيانات مرتبة على شكل هرمى و امكانية
- التوارث بين أقسام البيانات ,
- حفظ البيانات بشكل هرمى مدعوم حالياً عن طريق الفصل بين اسماء المفاتيح
- "Keys" بإستخدام نقطة (
- <code>.</code>
- ),
- و يمكن لأى قسم من أقسام البيانات أن يرث من قسم بيانات أخر عن طريق إلحاق
- أسم القسم بنقطة مزدوجة (
- <code>:</code>
- )
- ثم إلحاقها بأسم القسم الذى سيتم الوراثة منه.
- </para>
- <note>
- <title>parse_ini_file</title>
- <para>
- تستخدم
- <code>Zend_Config_Ini</code>
- دالة PHP تسمى
- <ulink url="http://php.net/parse_ini_file">
- <code>()parse_ini_file</code>
- </ulink>
- ,
- يرجى أن تقوم بمراجعة دليل المبرمج الخاص بلغة PHP لتتعرف على سلوك هذه
- الدالة, و الذى ينطبق على
- <code>Zend_Config_Ini</code>
- , مثل كيف يتم التعامل مع القيم الخاصة
- <code>true</code>
- و
- <code>false</code>
- و
- <code>yes</code>
- و
- <code>no</code>
- و
- <code>null</code>
- .
- </para>
- </note>
- <example>
- <title>إستخدام Zend_Config_Ini</title>
- <para>
- هذا المثال يوضح إستخدام بسيط لـ
- <code>Zend_Config_Ini</code>
- لتحميل بيانات الأعدادات
- من ملف INI , فى هذا المثال يوجد بيانات الأعدادات الخاصة بكل من مرحلة
- الأنتاج "production"
- و مرحلة التجهيز "staging" , و لأن بيانات الأعدادات الخاصة بمرحلة الـ
- staging تتشابه كثيراً مع
- تلك الخاصة بمرحلة الـ production , فتم جعل قسم بيانات الـ staging يرث من
- قسم بيانات الـ production ,
- ربما هذا لا ينطبق على بعض الحالات الأكثر تعقيداً و لكن دعونا نفترض أن
- بيانات الأعدادت التالية محفوظة
- على المسار
- <code>path/to/config.ini/</code>
- :
- </para>
- <programlisting role="ini"><![CDATA[; Production site configuration data
- [production]
- webhost = www.example.com
- database.type = pdo_mysql
- database.host = db.example.com
- database.username = dbuser
- database.password = secret
- database.name = dbname
- ; Staging site configuration data inherits from production and
- ; overrides values as necessary
- [staging : production]
- database.host = dev.example.com
- database.username = devuser
- database.password = devsecret]]></programlisting>
- <para>
- الأن و لنفترض أن مطور البرنامج يريد تحميل بيانات الأعدادات الخاصة بمرحلة
- الـ staging من ملف الـ INI ,
- بالفعل إنه من السهل تحميل هذه البيانات فقط عن طريق تحديد مسار ملف الـ INI و
- أسم قسم البيانات staging :
- </para>
- <programlisting role="php"><![CDATA[<?php
- require_once 'Zend/Config/Ini.php';
- $config = new Zend_Config_Ini('/path/to/config.ini', 'staging');
- echo $config->database->host; // prints "dev.example.com"
- echo $config->database->name; // prints "dbname"]]></programlisting>
- </example>
- </sect1>
- <!-- vim:se ts=4 sw=4 et: -->
|