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] 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"
?>