Používání proměnných v Zend_Config

9. October 2007

V našich PHP projektech s úspěchem používáme Zend Framework a také jeho část Zend_Config.

Zend_Config je třída umožňující přístup k konfiguračním souborům. Do něj je vhodné ukládat si například nastavení databáze apod. V současnosti existují dvě implementaci (adaptéry):

Zend_Config_ini
Slouží pro práci s konfiguračními daty, která jsou uložena a php ini souboru.
Zend_Config_Xml
Slouží pro práci s konfiguračními daty, která jsou uložena XML souboru.

Současná implementace Zend_Config neumožňuje používat proměnné v konfiguračních souborech. Na příkladu vysvětlím o čem je řeč:

[default]
foo = bar
foo2 = #foo#
var = World
foo3 = "Hello #var#"

Výše uvedený kód je ukázkou ini souboru, ktery lze načíst pomocí Zend_Config_Ini třídy. Použítí jenásledující

$config = new Zend_Config_Ini('config.ini', 'default');
$el = new Venturia_Config_ElEvaluator($config);

echo $config->foo; // vypíše bar
echo $config->foo2; // vypíše #foo#
echo $el->evaluate($config->foo2); // vypíše bar
echo $config->foo3; // vypíše Hello #var#
echo $el->evaluate($config->foo3); // vypíše Hello World

Třídy Venturia_Config_E­lEvaluator tedy funguje tak, že projde daný string a zamění výskyty znaku #nazev_promenne# za její skutečnou hodnotu (dělá to rekurzivně).

K napsání této třídy mě vedla skutečnost, že se hodnoty různých proměnných opakovaly. Typicky to byla hodnota e-mailové adresy.

Závěr

Doufám, že tato triviální třída může někomu pomoci s lepším uspořádám jeho konfiguračních souborů. Dříve než jsem se do jejího psaní pustil pátral jsem po webu, ale nic podobného jsem nenašel…no možná mě vyvedete z omylu.

Zde je odkaz na stažení třídy a testů – Venturia_Config_E­lEvaluator + testy.

Článek patří do kategorie: Zend Framework

Přidat komentář

Povinné

Povinné, skryté

Security Image Povinné
Opište text z obrázku

Povolené HTML značky:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Odkazovat na tento článek  |  Přihlásit se k odběru těchto komentářů přes RSS Feed


Kalendář

June 2017
M T W T F S S
« Jan    
 1234
567891011
12131415161718
19202122232425
2627282930  

Poslední články

Locations of visitors to this page