Suite au billet sur les fichiers INI, voici une autre méthode pour stocker des données de configuration de façon aussi simple, mais qui offre un gros avantage : YAML permet de sérialiser des données représentées par des tableaux ou des objets de plus de 2 dimensions, et ça c’est quand même bien useful.
YAML (accronyme de YAML Ain’t Markup language), est une façon simple de
représenter des données. Il a de gros avantages par rapport aux fichiers INI ou
XML :
- leger et user-friedly, contrairement a XML
- il permet de serialiser beaucoup plus de choses que les fichiers INI, comme
le xml - contrairement aux fichiers ini, il autorise l’utilisation des doubles
quotes (top relou dans les .ini).
Il se presente sous cette forme par exemple :
# un commentaire et un tableau users: - Toto - Titi # utilisation de booleans vrai: true faux: false # tables associatif multidimensionnel foo: toto: gentil titi: mechant
Attention à la syntaxe: l’indentation doit être exacte et respectée, ne pas
utiliser de caractères réservés (:, ,, { et }) sans
encadrer la chaine.
Seul inconvenient, il ‘existe pas (encore) de fonction native en php pour le
parser. Il faut donc coder un parseur ou utiliser une librairie tierse comme
celle de Symfony, par exemple, ou SPYC.
