Jeder Webentiwickler kennt das Problem. Da möchte man nur mal schnell ein kleines PHP-Projekt starten und fragt sich unweigerlich, wie jemand außer einem selbst jemals die Konfiguration in Form eines PHP-Arrays verstehen soll. Bei yeebase media produzieren wir zum Beispiel die t3n-Heft-CD mit einem kleinen PHP-Script - basierend auf einer riesigen PHP-Array-Konfiguration, die viele Mitarbeiter gerne lieber gestern als morgen gegen eine schlanke Text-Datei ersetzt sehen würden.
Eine Alternative zur Definition von Konfigurations-Optionen in nativem PHP bietet das minimalistische yaml-Format. Dieses wird zum Beispiel vom PHP-Framework Symfony standardmäßig genutzt. Mit der PHP-Klasse sfYaml steht der YAML-Parser aus Symfony nun auch für eigene Entwicklungen zur Verfügung.
Vorher
Definition der Konfiguration mit PHP (config.php):
$config = array('testuser' => array('name' => 'gerd', 'pass' => 'bier'));
Die Datei config.php muss mit dem PHP-Befehl include oder require geladen werden:
include_once('config.php');
Nacher
Definition der Konfigurationsoptionen mit yaml (config.yml):
testuser: name: gerd pass: bier
Die yaml-Datei kann dann mit der Klasse Symfony-YAML auf einfache Weise eingelesen werden und steht dann ebenfalls der PHP-Anwendung als normales Array zur Verfügung:
include_once('sfYaml/sfYamlParser.php');
$yaml = new sfYamlParser();
$config = $yaml->parse(file_get_contents('/config.yml'));
Fazit
Mit der Verwendung des yaml-Formats muss man zwar mindestens zwei Zeilen mehr Code investieren, kann dafür aber auch unversierteren Nutzern die Änderung von config-Dateien ermöglichen. Aber Achtung: Bei der Definition von yaml-Dateien muss man genau auf Leertasten achten, da diese vom yaml-Parser interpretiert werden!





















