@@ -95,16 +95,20 @@ acts as a thin wrapper that simplifies common uses.
95
95
Reading YAML Files
96
96
~~~~~~~~~~~~~~~~~~
97
97
98
- The :method: `Symfony\\ Component\\ Yaml\\ Parser ::parse ` method parses a YAML
98
+ The :method: `Symfony\\ Component\\ Yaml\\ Yaml ::parse ` method parses a YAML
99
99
string and converts it to a PHP array:
100
100
101
101
.. code-block :: php
102
102
103
- use Symfony\Component\Yaml\Parser;
103
+ use Symfony\Component\Yaml\Yaml;
104
+
105
+ $value = Yaml::parse(file_get_contents('/path/to/file.yml'));
104
106
105
- $yaml = new Parser();
107
+ .. caution ::
106
108
107
- $value = $yaml->parse(file_get_contents('/path/to/file.yml'));
109
+ Because it is currently possible to pass a filename to this method, you
110
+ must validate the input first. Passing a filename is deprecated in
111
+ Symfony 2.2, and was removed in Symfony 3.0.
108
112
109
113
If an error occurs during parsing, the parser throws a
110
114
:class: `Symfony\\ Component\\ Yaml\\ Exception\\ ParseException ` exception
@@ -116,36 +120,11 @@ error occurred:
116
120
use Symfony\Component\Yaml\Exception\ParseException;
117
121
118
122
try {
119
- $value = $yaml-> parse(file_get_contents('/path/to/file.yml'));
123
+ $value = Yaml:: parse(file_get_contents('/path/to/file.yml'));
120
124
} catch (ParseException $e) {
121
125
printf("Unable to parse the YAML string: %s", $e->getMessage());
122
126
}
123
127
124
- .. tip ::
125
-
126
- As the parser is re-entrant, you can use the same parser object to load
127
- different YAML strings.
128
-
129
- It may also be convenient to use the
130
- :method: `Symfony\\ Component\\ Yaml\\ Yaml::parse ` wrapper method:
131
-
132
- .. code-block :: php
133
-
134
- use Symfony\Component\Yaml\Yaml;
135
-
136
- $yaml = Yaml::parse(file_get_contents('/path/to/file.yml'));
137
-
138
- The :method: `Symfony\\ Component\\ Yaml\\ Yaml::parse ` static method takes a YAML
139
- string or a file containing YAML. Internally, it calls the
140
- :method: `Symfony\\ Component\\ Yaml\\ Parser::parse ` method, but enhances the
141
- error if something goes wrong by adding the filename to the message.
142
-
143
- .. caution ::
144
-
145
- Because it is currently possible to pass a filename to this method, you
146
- must validate the input first. Passing a filename is deprecated in
147
- Symfony 2.2, and will be removed in Symfony 3.0.
148
-
149
128
.. _components-yaml-dump :
150
129
151
130
Objects for Mappings
@@ -165,36 +144,25 @@ arrays. You can instruct the parser to return mappings as objects (i.e.
165
144
Writing YAML Files
166
145
~~~~~~~~~~~~~~~~~~
167
146
168
- The :method: `Symfony\\ Component\\ Yaml\\ Dumper ::dump ` method dumps any PHP
147
+ The :method: `Symfony\\ Component\\ Yaml\\ Yaml ::dump ` method dumps any PHP
169
148
array to its YAML representation:
170
149
171
150
.. code-block :: php
172
151
173
- use Symfony\Component\Yaml\Dumper ;
152
+ use Symfony\Component\Yaml\Yaml ;
174
153
175
154
$array = array(
176
155
'foo' => 'bar',
177
156
'bar' => array('foo' => 'bar', 'bar' => 'baz'),
178
157
);
179
158
180
- $dumper = new Dumper();
181
-
182
- $yaml = $dumper->dump($array);
159
+ $yaml = Yaml::dump($array);
183
160
184
161
file_put_contents('/path/to/file.yml', $yaml);
185
162
186
163
If an error occurs during the dump, the parser throws a
187
164
:class: `Symfony\\ Component\\ Yaml\\ Exception\\ DumpException ` exception.
188
165
189
- If you only need to dump one array, you can use the
190
- :method: `Symfony\\ Component\\ Yaml\\ Yaml::dump ` static method shortcut:
191
-
192
- .. code-block :: php
193
-
194
- use Symfony\Component\Yaml\Yaml;
195
-
196
- $yaml = Yaml::dump($array);
197
-
198
166
Array Expansion and Inlining
199
167
............................
200
168
@@ -206,7 +174,7 @@ representation:
206
174
207
175
{ foo: bar, bar: { foo: bar, bar: baz } }
208
176
209
- The second argument of the :method: `Symfony\\ Component\\ Yaml\\ Dumper ::dump `
177
+ The second argument of the :method: `Symfony\\ Component\\ Yaml\\ Yaml ::dump `
210
178
method customizes the level at which the output switches from the expanded
211
179
representation to the inline one:
212
180
0 commit comments