Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. XmlFileLoader.php

function XmlFileLoader::parseConstraints

Parses a collection of "constraint" XML nodes.

Parameters

\SimpleXMLElement $nodes The XML nodes:

Return value

Constraint[]

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\Loader

Code

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;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal