Zend_Config_YamlAperçuYAML est un acronyme récursif signifiant "YAML
Ain't Markup Language", et peuyt se résumer en "standard de sérialization de données
human friendly pour tous les langages de programmation." Il est souvent utilisé pour
la configuration d'applications.
Zend_Config_Yaml est une petite extensions de
Zend_Config. Il inclut un analyseur capable de reconnaître la syntaxe
YAML utilisées pour des besoins de configuration et permet de préciser d'autres analyseurs
à utiliser pour le support de syntaxes complexes (e.g., ext/syck, spyc, sfYaml, etc.).
Démarrage rapide
Voici une version YAML de la configuration d'une application standard.
Pour l'utiliser, instanciez simplement Zend_Config_Yaml en lui
indiquant le chemin vers ce fichier ainsi que la section à charger. Par défaut,
les constantes trouvées dans les valeurs seront substituées par leurs valeurs.
Une fois instancié, l'utilisation est classique, comme un objet de configuration.
resources->db);
]]>Options de configuration
Les options suivantes peuvent être passées comme clés au troisième paramètre
$options du constructeur.
Zend_Config_Yaml Optionsallow_modifications
Par défaut, Zend_Config est en lecture seule.
Passer cette option à true autorisera la modification
de l'objet.
skip_extends
Par défaut, à chaque fois qu'une section étend une autre,
Zend_Config regroupera cette section avec son parent.
Utiliser le booléen true pour cette option désactivera ce
comportement, la configuration de la section sera telle-quelle.
ignore_constants
Par défaut, Zend_Config_Yaml remplacera toutes les
constantes trouvées dans le fichier par leurs valeurs respectives. Passez
le booléen true à cette option pour désactiver cette
fonctionnalité.
yaml_decoder
Par défaut, Zend_Config_Yaml utilise une analyseur interne,
Zend_Config_Yaml::decode(), pour analyser et traiter les
fichiers YAML. Vous pouvez préciser une fonction de callback à utiliser comme
analyseur externe via cette option.
Méthodes disponibles__construct$yaml, $section = null, $options = false
Constructeur. $yaml doit pointer vers un fichier YAML valide.
Si $section est précisé, seule la section indiquée sera analysée.
$options est documenté dans la section options.
decode$yaml
Analyse et transforme une chaîne YAML en un tableau PHP.
setIgnoreConstants$flag
Cette méthode statique est utilisée pour changer le
comportement global de l'analyse des constantes trouvées dans les fichiers
YAML. Par défaut, les constantes sont remplacées par leurs valeurs. Passer
le booléen true à cette méthode surchargera ce
comportement. (Vous pouvez changer le comportement par instance en utilisant
l'option ignore_constants.)
ignoreConstants
Cette méthode statique retourne la valeur actuelle
de ignore_constants.
ExemplesUtiliser Zend_Config_Yaml avec sfYaml
Comme précisé dans la section des options
, Zend_Config_Yaml vous permet de spécifier votre propre
analyseur YAML.
sfYaml est un Symfony component qui implémente
un analyseur YAML complet pour PHP, et inclus des fonctionnalités additionnelles comme l'analyse
d'expressions PHP incluses dans du YAML. Dans cet exemple, nous utilisons
sfYaml::load() comme méthode callback pour le décodage du YAML.
(Note: ceci suppose que la classe sfYaml est déja chargée
ou disponible pour auto-chargement.) array('sfYaml', 'load'))
);
]]>