private static function Inline::parseMapping in Loft Data Grids 6.2
Same name and namespace in other branches
- 7.2 vendor/symfony/yaml/Inline.php \Symfony\Component\Yaml\Inline::parseMapping()
Parses a mapping to a YAML string.
Parameters
string $mapping:
int &$i:
array $references:
Return value
string A YAML string
Throws
ParseException When malformed inline YAML string is parsed
2 calls to Inline::parseMapping()
- Inline::parse in vendor/
symfony/ yaml/ Symfony/ Component/ Yaml/ Inline.php - Converts a YAML string to a PHP array.
- Inline::parseSequence in vendor/
symfony/ yaml/ Symfony/ Component/ Yaml/ Inline.php - Parses a sequence to a YAML string.
File
- vendor/
symfony/ yaml/ Symfony/ Component/ Yaml/ Inline.php, line 351
Class
- Inline
- Inline implements a YAML parser/dumper for the YAML inline syntax.
Namespace
Symfony\Component\YamlCode
private static function parseMapping($mapping, &$i = 0, $references = array()) {
$output = array();
$len = strlen($mapping);
++$i;
// {foo: bar, bar:foo, ...}
while ($i < $len) {
switch ($mapping[$i]) {
case ' ':
case ',':
++$i;
continue 2;
case '}':
return $output;
}
// key
$key = self::parseScalar($mapping, array(
':',
' ',
), array(
'"',
"'",
), $i, false);
// value
$done = false;
while ($i < $len) {
switch ($mapping[$i]) {
case '[':
// nested sequence
$output[$key] = self::parseSequence($mapping, $i, $references);
$done = true;
break;
case '{':
// nested mapping
$output[$key] = self::parseMapping($mapping, $i, $references);
$done = true;
break;
case ':':
case ' ':
break;
default:
$output[$key] = self::parseScalar($mapping, array(
',',
'}',
), array(
'"',
"'",
), $i, true, $references);
$done = true;
--$i;
}
++$i;
if ($done) {
continue 2;
}
}
}
throw new ParseException(sprintf('Malformed inline YAML string %s', $mapping));
}