XmlFileLoader
class XmlFileLoader extends FileLoader
Загружает метаданные валидации из XML-файла.
Постоянные значения
| DEFAULT_NAMESPACE | Пространство имён по умолчанию для загрузки ограничений. |
Свойства
| protected | $namespaces | из AbstractLoader | |
| protected | $file | из FileLoader | |
| protected SimpleXMLElement[]|null | $classes | Узлы XML-файла сопоставления. |
Методы
| addNamespaceAlias(string $alias, string $namespace) Добавляет псевдоним пространства имён. | из AbstractLoader | |
| Constraint | newConstraint(string $name, mixed $options = null) Создаёт новый экземпляр ограничения для заданного имени ограничения. | из AbstractLoader |
| __construct(string $file) Создаёт новый загрузчик. | из FileLoader | |
| bool | loadClassMetadata(ClassMetadata $metadata) Загружает метаданные валидации в экземпляр {@link ClassMetadata}. | |
| string[] | getMappedClasses() Возвращает имена сопоставленных классов в этом файле. | |
| array | parseConstraints(SimpleXMLElement $nodes) Разбирает коллекцию узлов XML "constraint". | |
| array | parseValues(SimpleXMLElement $nodes) Разбирает коллекцию узлов XML "value". | |
| array | parseOptions(SimpleXMLElement $nodes) Разбирает коллекцию узлов XML "option". | |
| SimpleXMLElement | parseFile(string $path) Загружает описания XML-классов из указанного файла. |
Подробности
protected addNamespaceAlias(string $alias, string $namespace)
Добавляет псевдоним пространства имён.
Псевдоним пространства имён можно использовать для ссылки на ограничения из определённых пространств имён в {@link newConstraint()}:
$this->addNamespaceAlias('mynamespace', '\\Acme\\Package\\Constraints\\');
$constraint = $this->newConstraint('mynamespace:NotNull');
Параметры
| string | $alias | Псевдоним |
| string | $namespace | Пространство имён PHP |
protected Constraint newConstraint(string $name, mixed $options = null)
Создаёт новый экземпляр ограничения для заданного имени ограничения.
Параметры
| string | $name | Имя ограничения. Либо имя ограничения относительно пространства имён ограничений по умолчанию, либо полное имя класса. В качестве альтернативы, ограничение может быть предварено псевдонимом пространства имён и двоеточием. Псевдоним пространства имён должен быть определён с помощью {@link addNamespaceAlias()}. |
| mixed | $options | Параметры ограничения |
Возвращаемое значение
| Constraint |
Исключения
| MappingException | Если префикс пространства имён не определён |
__construct(string $file)
Создаёт новый загрузчик.
Параметры
| string | $file | Файл сопоставления для загрузки |
Исключения
| MappingException | Если файл не существует или не доступен для чтения |
bool loadClassMetadata(ClassMetadata $metadata)
Загружает метаданные валидации в экземпляр {@link ClassMetadata}.
Параметры
| ClassMetadata | $metadata |
Возвращаемое значение
| bool | Успешно ли выполнился загрузчик |
string[] getMappedClasses()
Возвращает имена сопоставленных классов в этом файле.
Возвращаемое значение
| string[] | Имена классов |
protected array parseConstraints(SimpleXMLElement $nodes)
Разбирает коллекцию узлов XML "constraint".
Параметры
| SimpleXMLElement | $nodes | Узлы XML |
Возвращаемое значение
| array | Экземпляры Constraint |
protected array parseValues(SimpleXMLElement $nodes)
Разбирает коллекцию узлов XML "value".
Параметры
| SimpleXMLElement | $nodes | Узлы XML |
Возвращаемое значение
| array | Значения |
protected array parseOptions(SimpleXMLElement $nodes)
Разбирает коллекцию узлов XML "option".
Параметры
| SimpleXMLElement | $nodes | Узлы XML |
Возвращаемое значение
| array | Параметры |
protected SimpleXMLElement parseFile(string $path)
Загружает описания XML-классов из указанного файла.
Параметры
| string | $path | Путь к XML-файлу |
Возвращаемое значение
| SimpleXMLElement | Описания классов |
Исключения
| MappingException | Если файл не удалось загрузить |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.html