3.3. Zend_Config_Ini
Poprzedni | Rozdział 3. Zend_Config | Następny

## 3.3. Zend_Config_Ini

### 3.3.1. Wprowadzenie

Klasa `Zend_Config_Ini` umożliwia programistom przechowywanie danych konfiguracyjnych w plikach INI i uzyskanie dostępu do nich jak do właściwości obiektu za pomocą `Zend_Config`.

Przykład 3.3. Dane konfiguracyjne przechowywane w plikach INI

Ten przykład pokazuje proste użycie klasy `Zend_Config_Ini` do ładowania danych konfiguracyjnych z plików INI. Załóżmy, że mamy następujące dane konfiguracyjne w pliku `/path/to/config.ini`:

    ; Podstawowe dane konfiguracyjne
    [production]
    webhost           = www.example.com
    database.type     = pdo_mysql
    database.host     = db.example.com
    database.username = dbuser
    database.password = secret
    database.name     = dbname

    ; Konfiguracja aplikacji rozbudowywanej dziedziczy z podstawowej
    ; konfiguracji, a niektóre wartości są nadpisywane
    [staging]
    extends = production
    database.host     = dev.example.com
    database.username = devuser
    database.password = devsecret

| Notatka
Zauważ, że składnia pliku INI jest podobna do tej wymaganej przez funkcję PHP `parse_ini_file()`, której używa `Zend_Config_Ini`. Proszę przejrzeć jej dokumentację aby znać specyfikę działania klasy `Zend_Config_Ini`, na przykład w kwestii traktowania specjalnych wartości takich jak `true`, `false`, `yes`, `no`, oraz `null`.

Dziedziczenie jest obsługiwane w składni pliku INI przez użycie słowa `extends`. Wartością klucza `extends` powinna być nazwa sekcji z której ma dziedziczyć nowa sekcja. Dane konfiguracyjne są wtedy ładowane z pliku INI w taki sposób:

    <?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; // wyświetla "dev.example.com"
    ?>

Poprzedni | Początek rozdziału | Następny
3.2. Zend_Config_Array | Spis treści | 3.4. Zend_Config_Xml