Zend_Config_Array laat programmeurs toe om configuratiedata op te slaan in multidimensionele
associatieve PHP arrays, die dan kunnen worden aangesproken als objecteigenschappen via
Zend_Config.
Voorbeeld 3.2. Configuratiedata Opgeslaan in PHP Arrays
Dit voorbeeld illustreert het basisgebruik van Zend_Config_Array voor het laden
van configuratiedata vanuit PHP arrays. Eerst moeten we PHP arrays aanmaken met configuratiedata:
<?php
// Productiesite configuratiedata
$config['productie'] = array(
'webhost' => 'www.example.com',
'database' => array(
'type' => 'pdo_mysql',
'host' => 'db.example.com',
'username' => 'dbuser',
'password' => 'secret',
'name' => 'dbname'
)
);
// Ontwikkelingssite configuratiedata erft van productie en
// overschrijft waardes waar nodig
$config['staging'] = $config['productie'];
$config['staging']['webhost'] = 'dev.example.com';
$config['staging']['database']['host'] = 'dev.example.com';
$config['staging']['database']['username'] = 'devuser';
$config['staging']['database']['password'] = 'devsecret';
?>
![]() |
Opmerking |
|---|---|
De array met condfiguratiedata moet $config worden genoemd in het ingeladen PHP script.
|
Erfenis wordt in het voorbeeld hierboven gebruikt door de waarden van de productie sectie
aan de staging sectie toe te schrijven. Nu is het eenvoudig om de configuratiedata
via Zend_Config_Array in te laden:
<?php
require_once 'Zend/Config.php';
require_once 'Zend/Config/Array.php';
$config = new Zend_Config(Zend_Config_Array::load('/pad/naar/config.php', 'staging'));
echo $config->database->host; // prints "dev.example.com"
?>
Het moet worden opgemerkt dat, vermits de configuratiedata onmiddellijk aan de PHP arrays worden
toegevoegd, elke configuratiedatawaarde hetzelfde type zal hebben als dewelke in de
$config array werd toegekend.
<?php $config['staging']['debug'] = 'false'; // waarde is een string type $config['staging']['console'] = false; // waarde is een boolean type $config['staging']['timeout'] = 30; // waarde is een integer type ?>