Introduction
L'extension de fichier «.YML» ou «.YAML», de l'abréviation de l'anglicisme «Yet Another Markup Language», est un format de données principalement utilisé pour le cadre d'application Symfony pour PHP. L'objet de ce format est d'offrir une plus grande visibilité pour un être humain qu'un format comme XML ou JSON.
Spécification
Spécification | Description |
---|---|
Type | Données en format d'arbre |
Méthode de compression | Aucune |
Format | ASCII |
Structure du fichier
Le fichier contient des clefs se terminant par un caractères 2 points (:) et il peut être suivie par une valeur ou laisser place à une sous-clef et cela de façon récursive. Pour savoir à qui appartient la sous-clef, elle se doit d'avoir un nombre d'espaces la précédent supérieur à son parent. Cependant, il ne faut pas mettre de tabulation avant la clef ou la valeur mais des espaces !
Programmation
Les principales projets utilisant se format de données sont «Drupal» et «phpMyAdmin». Tandis que pour les bibliothèques, voici la liste des bibliothèques offrant un support de ce format :
Langage de programmation | Bibliothèques |
---|---|
ActionScript | as3yaml |
C | LibYAML, SYCK |
C++ | LibYaml, yaml-cpp |
C# | Yaml Library for .NET, YAML Parser in C#, YAML for .NET |
D | D:YAML |
Erlang | yamler |
Go | goyaml |
Haskell | YamlReference, yaml, HsSyck, json2yaml |
Java | jvyaml, SnakeYAML |
JavaScript | JS-YAML, CommonJS js-yaml, javascript-yaml-parser, jsyaml |
Lua | Lua-Syck, yaml |
OCaml | OCaml-Syck |
Objective-C | YAML.framework, syck/ext/cocoa |
Perl | YAML, YAML::Tiny, YAML::Syck, YAML::XS, YAML::Any |
PHP | Spyc, PHP-Syck, Symfony YAML Component, PECL Yaml |
Python | PyYaml, PySyck |
R | CRAN YAML |
Ruby | YAML, Ya2YAML, ZAML, RbYAML |
Scala | scala-yaml |
Remarque
- Attention ! Vous ne devez jamais mettre des tabulations (caractère TAB ou de touche Tab) dans vos indentations car sinon vous allez faire planter l'application l'utilisant. Ainsi, par exemple, si vous mettez une tabulation plutôt que des caractères espaces dans le fichier «app.yml», vous aurez un erreur 500 dans le cadre d'application Symfony 1 de PHP.
Exemple
L'exemple suivant permet de montrer différents niveaux de clef :
clef1: sousclefa: valeura sousclefb: valeurb clef2: sousclefi: valeuri sousclefii: valeurii clef3: valeurz |
Voir également
Langage de programmation - PHP - Symfony - generator.yml