class YamlFileLoader extends FileLoader

Loads validation metadata from a YAML file.

Constants

DEFAULT_NAMESPACE

The namespace to load constraints from by default.

Properties

protected $namespaces from AbstractLoader
protected $file from FileLoader
protected array $classes An array of YAML class descriptions.

Methods

addNamespaceAlias(string $alias, string $namespace)

Adds a namespace alias.

newConstraint(string $name, mixed $options = null)

Creates a new constraint instance for the given constraint name.

__construct(string $file)

Creates a new loader.

bool
loadClassMetadata(ClassMetadata $metadata)

Loads validation metadata into a {@link ClassMetadata} instance.

string[]
getMappedClasses()

Return the names of the classes mapped in this file.

array
parseNodes(array $nodes)

Parses a collection of YAML nodes.

Details

in AbstractLoader at line 50
protected addNamespaceAlias(string $alias, string $namespace)

Adds a namespace alias.

The namespace alias can be used to reference constraints from specific namespaces in {@link newConstraint()}:

$this->addNamespaceAlias('mynamespace', '\\Acme\\Package\\Constraints\\');

$constraint = $this->newConstraint('mynamespace:NotNull');

Parameters

string $alias The alias
string $namespace The PHP namespace

in AbstractLoader at line 70
protected Constraint newConstraint(string $name, mixed $options = null)

Creates a new constraint instance for the given constraint name.

Parameters

string $name The constraint name. Either a constraint relative to the default constraint namespace, or a fully qualified class name. Alternatively, the constraint may be preceded by a namespace alias and a colon. The namespace alias must have been defined using {@link addNamespaceAlias()}.
mixed $options The constraint options

Return Value

Constraint

Exceptions

MappingException If the namespace prefix is undefined

in FileLoader at line 35
__construct(string $file)

Creates a new loader.

Parameters

string $file The mapping file to load

Exceptions

MappingException If the file does not exist or is not readable

at line 43
bool loadClassMetadata(ClassMetadata $metadata)

Loads validation metadata into a {@link ClassMetadata} instance.

Parameters

ClassMetadata $metadata

Return Value

bool Whether the loader succeeded

at line 65
string[] getMappedClasses()

Return the names of the classes mapped in this file.

Return Value

string[] The classes names

at line 81
protected array parseNodes(array $nodes)

Parses a collection of YAML nodes.

Parameters

array $nodes The YAML nodes

Return Value

array An array of values or Constraint instances