3.3. Zend_Config_Ini
السابق | فصل 3. Zend_Config | التالي

## 3.3. Zend_Config_Ini

### 3.3.1. مقدمة

توفر `Zend_Config_Ini` للمطور امكانية قرائة بيانات الـ configuration التى قام بحفظها فى ملف INI , و من ثم سيتمكن من قرائتها عن طريق الـ properties الخاصة بالـ object الذى سينشئه من `Zend_Config`.

مثال 3.3. بيانات الـ Configuration المحفوظة فى ملف INI

هذا المثال يوضح مثال بسيط فى استخدام `Zend_Config_Ini` لتحميل بيانات configuration من ملف INI , لنفترض اننا نضع هذه البيانات فى ملف على المسار `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]
    extends = production
    database.host     = dev.example.com
    database.username = devuser
    database.password = devsecret

| ملاحظة
لاحظ أن القواعد النحوية المتبعة فى كتابة محتويات ملف الـ INI هى نفسها التى تتوقعها دالة الـ PHP المسمى `()parse_ini_file` و التى يستخدمها `Zend_Config_Ini`, إذا سمحت راجع الـ manual لتتعرف على السلوك الذى تتبعه `Zend_Config_Ini` فى عملها , مثل كيفية ترجمتها للقيم الخاصة مثل `true`, `false`, `yes`, `no` و `null`.

على حسب القواعد النحوية الخاصة بملفات الـ INI تم دعم امكانية الوراثة , و ذلك بأستخدام الكلمة المفتاحية `extends` , قيمة `extends` يجب ان تكون اسم القسم الذى سيتم الوراثة منه, و سيتم بعد ذلك تحميل البيانات من ملف الـ INI و ترجمتها على هذا الأساس :

    <?php
    require_once 'Zend/Config.php';
    require_once 'Zend/Config/Ini.php';

    $config = new Zend_Config(Zend_Config_Ini::load('/path/to/config.ini', 'staging'));

    echo $config->database->host; // prints "dev.example.com"
    ?>

السابق | أعلى | التالي
3.2. Zend_Config_Array | البداية | 3.4. Zend_Config_Xml