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 ?>