يوفر Zend_Config_Ini
للمبرمج امكانية حفظ البيانات الخاصة بإعدادات البرنامج ,
و ذلك بصيغة الـ INI المألوفة , ثم تمكنه من قرائه هذه البيانات داخل برنامجه بيسر من خلال
استخدامه لنفس القواعد النحوية التى يستخمدها عند قرائته لقيمة محفوظة فى property داخل كائن PHP عادى.
صيغة الـ INI توفر أمكانية إنشاء بيانات مرتبة على شكل هرمى و امكانية التوارث بين أقسام البيانات ,
حفظ البيانات بشكل هرمى مدعوم حالياً عن طريق الفصل بين اسماء المفاتيح "Keys" بإستخدام نقطة (.
),
و يمكن لأى قسم من أقسام البيانات أن يرث من قسم بيانات أخر عن طريق إلحاق أسم القسم بنقطة مزدوجة (:
)
ثم إلحاقها بأسم القسم الذى سيتم الوراثة منه.
parse_ini_file | |
---|---|
تستخدم |
مثال 5.2. إستخدام Zend_Config_Ini
هذا المثال يوضح إستخدام بسيط لـ Zend_Config_Ini
لتحميل بيانات الأعدادات
من ملف INI , فى هذا المثال يوجد بيانات الأعدادات الخاصة بكل من مرحلة الأنتاج "production"
و مرحلة التجهيز "staging" , و لأن بيانات الأعدادات الخاصة بمرحلة الـ staging تتشابه كثيراً مع
تلك الخاصة بمرحلة الـ production , فتم جعل قسم بيانات الـ staging يرث من قسم بيانات الـ production ,
ربما هذا لا ينطبق على بعض الحالات الأكثر تعقيداً و لكن دعونا نفترض أن بيانات الأعدادت التالية محفوظة
على المسار path/to/config.ini/
:
; 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
الأن و لنفترض أن مطور البرنامج يريد تحميل بيانات الأعدادات الخاصة بمرحلة الـ staging من ملف الـ INI , بالفعل إنه من السهل تحميل هذه البيانات فقط عن طريق تحديد مسار ملف الـ INI و أسم قسم البيانات staging :
<?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"