Zend_Config_Array للمطور امكانية قرائة بيانات configuration محفوظة
فى associative array متعددة الأبعاد , و من ثم استخدام هذه البيانات من خلال Zend_Config.
مثال 3.2. بيانات الـ configuration المحفوظة فى array
المثال التالى يوضح استخدام بسيط لـ Zend_Config_Array حيث سنقوم بتحميل بيانات
configuration من array "مصفوفة" . قبل هذا نحتاج إلى إنشاء الـ array التى تحوى البيانات التى سيتم قرائتها :
<?php
// Production site configuration data
$config['production'] = array(
'webhost' => 'www.example.com',
'database' => array(
'type' => 'pdo_mysql',
'host' => 'db.example.com',
'username' => 'dbuser',
'password' => 'secret',
'name' => 'dbname'
)
);
// Staging site configuration data inherits from production and
// overrides values as necessary
$config['staging'] = $config['production'];
$config['staging']['webhost'] = 'dev.example.com';
$config['staging']['database']['host'] = 'dev.example.com';
$config['staging']['database']['username'] = 'devuser';
$config['staging']['database']['password'] = 'devsecret';
?>
![]() |
ملاحظة |
|---|---|
الـ array التى تحتوى على بيانات الـ configuration يجب ان تسمى config$ فى ملف الـ php الذى سيتم تحميلها منه.
|
فى المثال بالأعلى, تم وضع مثال لما اسميناه بالوراثة حيث ان القسم production تم حفظ قيمته
فى القسم staging, الأن اصبح الأمر سهلاً حيث سنقوم بتحميل البيانات عن طريق
Zend_Config_Array :
<?php
require_once 'Zend/Config.php';
require_once 'Zend/Config/Array.php';
$config = new Zend_Config(Zend_Config_Array::load('/path/to/config.php', 'staging'));
echo $config->database->host; // prints "dev.example.com"
?>
ملحوظة تستحق الذكر, بيانات الـ configuration محفوظة مباشرة فى مصفوفة PHP, بالتالى
كل قيمة بعد تحميلها ستحمل نفس نوع البيانات التى كانت عليه و هى فى config$
<?php $config['staging']['debug'] = 'false'; // value has string type $config['staging']['console'] = false; // value of boolean type $config['staging']['timeout'] = 30; // value of integer type ?>