Rozdział 5. Zend_Config

Spis treści

5.1. Wprowadzenie
5.2. Zasady działania
5.3. Zend_Config_Ini
5.4. Zend_Config_Xml

5.1. Wprowadzenie

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.