يتم تمرير بيانات الأعدادات إلى Zend_Config
على شكل associative array
و التى من الممكن ان تكون متعددة الأبعاد, و من أجل دعم تنظيم البيانات من الشكل العام إلى المحدد,
تم توفير adapter classes أو "classes توفيقية" وظيفتها توفيق البيانات المقرؤة من مصادر حفظ البيانات المتعددة
و تحويلها إلى associative array من أجل Zend_Config
, و يمكن للمبرمج أن يوفر
هذه المصفوفة "array" مباشرة إلى Zend_Config
بدون استخدام adapter class,
و هذا من الممكن ان يحدث فى بعض الحالات الخاصة.
يطبق Zend_Config
كل من الـ interfaces المسمى
Countable
و Iterator
ليوفر وسائل سهلة للوصل إلى البيانات,
حيث سيمكنك إستخدام دالة الـ PHP المسمى
()count
أو إستخدام foreach
على كائنات Zend_Config
.
السلوك الطبيعى لـ Zend_Config
يسمح بالقرائة فقط للبيانات , و عملية تعديل لأحد
قيم البيانات المحفوظة به مثل
( $config->database->host = 'example.com'
)
يتسبب فى إلقاء exception , و يمكن تغيير هذا السلوك من خلال الـ constuctor و ذلك
للسماح بتعديل قيم البيانات.
لاحظ أن | |
---|---|
تسمح |
الـ adapter classes يرثون من Zend_Config
حيث أنهم فقط يعدلون على كيفية أدائه.
عائلة Zend_Config
توفر أمكانية أن تكون البيانات مرتبة فى أقسام بيانات.
و من الممكن أن يتم تحميل الـ adapter objects مع تحديد قسم بيانات واحد, أو أكثر من قسم ,
أو كل الأقسام (إن لم يتم تحديد قسم).
توفر الـ adapter classes فى Zend_Config
امكانية الوراثة الأحادية بين أقسام البيانات
, حيث يمكن أن يرث قسم بيانات من قسم بيانات أخر.
هذا تم توفيره للتقليل من الحاجة لتكرار بيانات الأعدادات فى الأقسام لأسباب متعددة,
و القسم الذى يرث من الممكن أن يغير القيم الموروثة من القسم الأب, و الذى من الممكن أن يكون ورث من
قسم جد (أب الأب) و هكذا , لكن الوراثة المتعددة (مثل القسم C يرث مباشرة من الأقسام A و B ) غير مدعومة.