4
4
The YAML Format
5
5
===============
6
6
7
- According to the official `YAML `_ website, YAML is "a human friendly data
8
- serialization standard for all programming languages".
9
-
10
- Even if the YAML format can describe complex nested data structure, this
11
- article only describes the minimum set of features needed to use YAML as a
12
- configuration file format.
13
-
14
- YAML is a simple language that describes data. As PHP, it has a syntax for
15
- simple types like strings, booleans, floats, or integers. But unlike PHP, it
16
- makes a difference between arrays (sequences) and hashes (mappings).
7
+ According to the official `YAML website `_, YAML is "a human friendly data
8
+ serialization standard for all programming languages". The Symfony Yaml
9
+ component implements a subset of the `YAML specification `_. Specifically, it
10
+ implements the minimum set of features needed to use YAML as a configuration
11
+ file format.
17
12
18
13
Scalars
19
14
-------
@@ -171,8 +166,8 @@ Collections
171
166
-----------
172
167
173
168
A YAML file is rarely used to describe a simple scalar. Most of the time, it
174
- describes a collection. A collection can be a sequence or a mapping of
175
- elements. Both sequences and mappings are converted to PHP arrays .
169
+ describes a collection. YAML collections can be a sequence (indexed arrays in PHP)
170
+ or a mapping of elements (associative arrays in PHP) .
176
171
177
172
Sequences use a dash followed by a space:
178
173
@@ -318,4 +313,20 @@ The YAML specification defines some tags to set the type of any data explicitly:
318
313
Pz7Y6OjuDg4J+fn5OTk6enp
319
314
56enmleECcgggoBADs=
320
315
321
- .. _YAML : http://yaml.org/
316
+ Unsupported YAML Features
317
+ -------------------------
318
+
319
+ The following YAML features are not supported by the Symfony Yaml component:
320
+
321
+ * Multi-documents (``--- `` and ``... `` markers);
322
+ * Complex mapping keys and complex values starting with ``? ``;
323
+ * Tagged values as keys;
324
+ * The following tags and types: `!!set `, `!!omap `, `!!pairs `, `!!set `, `!!seq `,
325
+ `!!bool `, `!!int `, `!!merge `, `!!null `, `!!timestamp `, `!!value`, `!!yaml `;
326
+ * Tags (``TAG `` directive; example: ``%TAG ! tag:example.com,2000:app/ ``)
327
+ and tag references (example: ``!<tag:example.com,2000:app/foo> ``);
328
+ * Using sequence-like syntax for mapping elements (example: ``{foo, bar} ``; use
329
+ ``{foo: ~, bar: ~} `` instead).
330
+
331
+ .. _`YAML website` : http://yaml.org/
332
+ .. _`YAML specification` : http://www.yaml.org/spec/1.2/spec.html
0 commit comments