Klasa Zend_Config została stworzona aby uprościć użycie danych
konfiguracyjnych w aplikacjach. Dostarcza ona interfejs bazujący na właściwościach
obiektów służący do odczytywania danych konfiguracyjnych wewnątrz kodu aplikacji.
Dane konfiguracyjne mogą pochodzić z różnego rodzaju źródeł, w których dane
konfiguracyjne są przechowywane hierarchiczne. Obecnie Zend_Config dostarcza
klasy obsługujące dane konfiguracyjne przechowywane w plikach tekstowych:
Zend_Config_Ini, oraz
Zend_Config_Xml.
Przykład 5.1. Użycie Zend_Config
Normalnie jest tak, że użytkownicy użyliby jednej z klas adaptera,
takiej jak Zend_Config_Ini
czy Zend_Config_Xml,
ale dane konfiguracyjne mogą być też dostępne w tablicy PHP. Można w prosty
sposób przekazać tablicę do konstruktora Zend_Config w celu
uzyskania obiektu zawierającego dane konfiguracyjne:
<?php
// Tablica danych konfiguracyjnych
$configArray = array(
'webhost' => 'www.example.com',
'database' => array(
'type' => 'pdo_mysql',
'host' => 'db.example.com',
'username' => 'dbuser',
'password' => 'secret',
'name' => 'dbname'
)
);
// Tworzy obiekt konfiguracji na podstawie danych konfiguracyjnych
require_once 'Zend/Config.php';
$config = new Zend_Config($configArray);
// Wyświetlenie wpisu z konfiguracji (wynikiem jest 'www.example.com')
echo $config->webhost;
// Użycie danych konfiguracyjnych w celu połączenia się z bazą danych
$myApplicationObject->databaseConnect($config->database->type,
$config->database->host,
$config->database->username,
$config->database->password,
$config->database->name);
Jak zostało pokazane w powyższym przykładzie, klasa Zend_Config
zapewnia składnię zagnieżdżonych właściwości obiektów w celu uzyskania
dostępu do danych konfiguracyjnych przekazanych do konstruktora.