function XmlFileLoader::parseConstraints
Parses a collection of "constraint" XML nodes.
Parameters
\SimpleXMLElement $nodes The XML nodes:
Return value
3 calls to XmlFileLoader::parseConstraints()
- XmlFileLoader::loadClassMetadataFromXml in vendor/
symfony/ validator/ Mapping/ Loader/ XmlFileLoader.php - XmlFileLoader::parseOptions in vendor/
symfony/ validator/ Mapping/ Loader/ XmlFileLoader.php - Parses a collection of "option" XML nodes.
- XmlFileLoader::parseValues in vendor/
symfony/ validator/ Mapping/ Loader/ XmlFileLoader.php - Parses a collection of "value" XML nodes.
File
-
vendor/
symfony/ validator/ Mapping/ Loader/ XmlFileLoader.php, line 76
Class
- XmlFileLoader
- Loads validation metadata from an XML file.
Namespace
Symfony\Component\Validator\Mapping\LoaderCode
protected function parseConstraints(\SimpleXMLElement $nodes) : array {
$constraints = [];
foreach ($nodes as $node) {
if (\count($node) > 0) {
if (\count($node->value) > 0) {
$options = [
'value' => $this->parseValues($node->value),
];
}
elseif (\count($node->constraint) > 0) {
$options = $this->parseConstraints($node->constraint);
}
elseif (\count($node->option) > 0) {
$options = $this->parseOptions($node->option);
}
else {
$options = [];
}
}
elseif ('' !== (string) $node) {
$options = XmlUtils::phpize(trim($node));
}
else {
$options = null;
}
if (isset($options['groups']) && !\is_array($options['groups'])) {
$options['groups'] = (array) $options['groups'];
}
$constraints[] = $this->newConstraint((string) $node['name'], $options);
}
return $constraints;
}