Chapitre 5. Zend_Config

Table des matières

5.1. Introduction
5.2. Point de vue théorique
5.3. Zend_Config_Ini
5.4. Zend_Config_Xml

5.1. Introduction

Zend_Config est conçu pour simplifier l'accès et l'utilisation des données de configuration dans les applications. Il fournit un interface utilisateur basée sur des propriétés d'objets imbriquées. Les données de configuration peuvent venir de sources variées supportant une organisation hiérarchique des données. Actuellement Zend_Config fournit des adaptateurs pour les données de configuration qui sont stockées dans des fichier textes avec Zend_Config_Ini et Zend_Config_Xml.

Exemple 5.1. Utilisation native de Zend_Config

Normalement on s'attend à ce que les utilisateurs emploient une des classes d'adaptateur telles que Zend_Config_Ini ou Zend_Config_Xml, mais si les données de configuration sont disponibles dans un tableau PHP, on peut simplement passer les données au constructeur de Zend_Config afin d'utiliser une interface orientée objet simple :

<?php
// Fourni un tableau de configuration
$configArray = array(
    'webhost' => 'www.example.com',
    'database' => array(
        'type'     => 'pdo_mysql',
        'host'     => 'db.example.com',
        'username' => 'dbuser',
        'password' => 'secret',
        'name'     => 'dbname'
    )
);

// Crée un objet à partir des données de configuration
require_once 'Zend/Config.php';
$config = new Zend_Config($configArray);

// Affiche une donnée de configuration en particulier (résultat : 'www.example.com')
echo $config->webhost;

// Utilise les données de configuration pour se connecter à une base de données
$myApplicationObject->databaseConnect($config->database->type,
                                      $config->database->host,
                                      $config->database->username,
                                      $config->database->password,
                                      $config->database->name);

Comme illustré dans l'exemple ci-dessus, Zend_Config fournit une syntaxe de propriétés d'objets imbriquées pour accéder aux données de configuration passées à son constructeur.