protected function YamlFileLoader::parseNodes

Parses a collection of YAML nodes

Parameters

array $nodes The YAML nodes:

Return value

array An array of values or Constraint instances

1 call to YamlFileLoader::parseNodes()

File

drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFileLoader.php, line 119

Class

YamlFileLoader

Namespace

Symfony\Component\Validator\Mapping\Loader

Code

protected function parseNodes(array $nodes) {
  $values = array();
  foreach ($nodes as $name => $childNodes) {
    if (is_numeric($name) && is_array($childNodes) && count($childNodes) == 1) {
      $options = current($childNodes);
      if (is_array($options)) {
        $options = $this
          ->parseNodes($options);
      }
      $values[] = $this
        ->newConstraint(key($childNodes), $options);
    }
    else {
      if (is_array($childNodes)) {
        $childNodes = $this
          ->parseNodes($childNodes);
      }
      $values[$name] = $childNodes;
    }
  }
  return $values;
}