Hoofdstuk 5. Zend_Config

Inhoudsopgave

5.1. Introduction
5.2. Werkingstheorie
5.3. Zend_Config_Ini
5.4. Zend_Config_Xml

5.1. Introduction

Zend_Config is ontworpen om het gebruik van configuratiedata te vereenvoudigen voor webtoepassingen. Het verstrekt een eigenschap-gebaseerde interface voor het lezen van configuratiedata vanin de toepassingscode. De configuratiedata kan vanuit een panel van verschillende bronnen die data hiërarchisch kunnen opslaan. Momenteel verstrekt Zend_Config hulpklassen voor configuratiedata die in tekstbestanden werd opgeslaan via Zend_Config_Ini and Zend_Config_Xml.

Voorbeeld 5.1. Opzettelijk Zend_Config gebruiken

Normaal gesproken wordt er verondersteld dat gebruikers één van de hulpklassen als Zend_Config_Ini or Zend_Config_Xml zullen gebruiken, maar indien de configuratiedata in een PHP array is opgeslaan, kan je de data direct aan de Zend_Config doorgeven om een eenvoudig object geörienteerde interface te gebruiken :

<?php
// Gegeven een array van configuratiedata
$configArray = array(
    'webhost' => 'www.example.com',
    'database' => array(
        'type'     => 'pdo_mysql',
        'host'     => 'db.example.com',
        'username' => 'dbuser',
        'password' => 'secret',
        'name'     => 'dbname'
    )
);

// De objekt geörienteerde wrapper over de configuratiedata aanmaken
require_once 'Zend/Config.php';
$config = new Zend_Config($configArray);

// Een configuratiedata afbeelden (resulteert in 'www.example.com')
echo $config->webhost;

// De configuratiedata gebruikeb om een verbinding met de database
// tot stand te brenegen
$myApplicationObject->databaseConnect($config->database->type,
                                      $config->database->host,
                                      $config->database->username,
                                      $config->database->password,
                                      $config->database->name);

Zoals in het voorbeeld hierboven is geïllustreerd, verstrektZend_Config een geneste objecteigenschap syntax om de configuratiedata aan te spreken die aan zijn constructor werd doorgegeven.