mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
179 lines
3.9 KiB
YAML
179 lines
3.9 KiB
YAML
--- %YAML:1.0
|
|
test: Simple Sequence
|
|
brief: |
|
|
You can specify a list in YAML by placing each
|
|
member of the list on a new line with an opening
|
|
dash. These lists are called sequences.
|
|
yaml: |
|
|
- apple
|
|
- banana
|
|
- carrot
|
|
php: |
|
|
array('apple', 'banana', 'carrot')
|
|
---
|
|
test: Nested Sequences
|
|
brief: |
|
|
You can include a sequence within another
|
|
sequence by giving the sequence an empty
|
|
dash, followed by an indented list.
|
|
yaml: |
|
|
-
|
|
- foo
|
|
- bar
|
|
- baz
|
|
php: |
|
|
array(array('foo', 'bar', 'baz'))
|
|
---
|
|
test: Mixed Sequences
|
|
brief: |
|
|
Sequences can contain any YAML data,
|
|
including strings and other sequences.
|
|
yaml: |
|
|
- apple
|
|
-
|
|
- foo
|
|
- bar
|
|
- x123
|
|
- banana
|
|
- carrot
|
|
php: |
|
|
array('apple', array('foo', 'bar', 'x123'), 'banana', 'carrot')
|
|
---
|
|
test: Deeply Nested Sequences
|
|
brief: |
|
|
Sequences can be nested even deeper, with each
|
|
level of indentation representing a level of
|
|
depth.
|
|
yaml: |
|
|
-
|
|
-
|
|
- uno
|
|
- dos
|
|
php: |
|
|
array(array(array('uno', 'dos')))
|
|
---
|
|
test: Simple Mapping
|
|
brief: |
|
|
You can add a keyed list (also known as a dictionary or
|
|
hash) to your document by placing each member of the
|
|
list on a new line, with a colon seperating the key
|
|
from its value. In YAML, this type of list is called
|
|
a mapping.
|
|
yaml: |
|
|
foo: whatever
|
|
bar: stuff
|
|
php: |
|
|
array('foo' => 'whatever', 'bar' => 'stuff')
|
|
---
|
|
test: Sequence in a Mapping
|
|
brief: |
|
|
A value in a mapping can be a sequence.
|
|
yaml: |
|
|
foo: whatever
|
|
bar:
|
|
- uno
|
|
- dos
|
|
php: |
|
|
array('foo' => 'whatever', 'bar' => array('uno', 'dos'))
|
|
---
|
|
test: Nested Mappings
|
|
brief: |
|
|
A value in a mapping can be another mapping.
|
|
yaml: |
|
|
foo: whatever
|
|
bar:
|
|
fruit: apple
|
|
name: steve
|
|
sport: baseball
|
|
php: |
|
|
array(
|
|
'foo' => 'whatever',
|
|
'bar' => array(
|
|
'fruit' => 'apple',
|
|
'name' => 'steve',
|
|
'sport' => 'baseball'
|
|
)
|
|
)
|
|
---
|
|
test: Mixed Mapping
|
|
brief: |
|
|
A mapping can contain any assortment
|
|
of mappings and sequences as values.
|
|
yaml: |
|
|
foo: whatever
|
|
bar:
|
|
-
|
|
fruit: apple
|
|
name: steve
|
|
sport: baseball
|
|
- more
|
|
-
|
|
python: rocks
|
|
perl: papers
|
|
ruby: scissorses
|
|
php: |
|
|
array(
|
|
'foo' => 'whatever',
|
|
'bar' => array(
|
|
array(
|
|
'fruit' => 'apple',
|
|
'name' => 'steve',
|
|
'sport' => 'baseball'
|
|
),
|
|
'more',
|
|
array(
|
|
'python' => 'rocks',
|
|
'perl' => 'papers',
|
|
'ruby' => 'scissorses'
|
|
)
|
|
)
|
|
)
|
|
---
|
|
test: Mapping-in-Sequence Shortcut
|
|
todo: true
|
|
brief: |
|
|
If you are adding a mapping to a sequence, you
|
|
can place the mapping on the same line as the
|
|
dash as a shortcut.
|
|
yaml: |
|
|
- work on YAML.py:
|
|
- work on Store
|
|
php: |
|
|
array(array('work on YAML.py' => array('work on Store')))
|
|
---
|
|
test: Sequence-in-Mapping Shortcut
|
|
todo: true
|
|
brief: |
|
|
The dash in a sequence counts as indentation, so
|
|
you can add a sequence inside of a mapping without
|
|
needing spaces as indentation.
|
|
yaml: |
|
|
allow:
|
|
- 'localhost'
|
|
- '%.sourceforge.net'
|
|
- '%.freepan.org'
|
|
php: |
|
|
array('allow' => array('localhost', '%.sourceforge.net', '%.freepan.org'))
|
|
---
|
|
todo: true
|
|
test: Merge key
|
|
brief: |
|
|
A merge key ('<<') can be used in a mapping to insert other mappings. If
|
|
the value associated with the merge key is a mapping, each of its key/value
|
|
pairs is inserted into the current mapping.
|
|
yaml: |
|
|
mapping:
|
|
name: Joe
|
|
job: Accountant
|
|
<<:
|
|
age: 38
|
|
php: |
|
|
array(
|
|
'mapping' =>
|
|
array(
|
|
'name' => 'Joe',
|
|
'job' => 'Accountant',
|
|
'age' => 38
|
|
)
|
|
)
|