abstract class AbstractLoader implements LoaderInterface

Base loader for validation metadata.

This loader supports the loading of constraints from Symfony's default namespace (see {@link DEFAULT_NAMESPACE}) using the short class names of those constraints. Constraints can also be loaded using their fully qualified class names. At last, namespace aliases can be defined to load constraints with the syntax "alias:ShortName".

Constants

DEFAULT_NAMESPACE

The namespace to load constraints from by default.

Properties

protected $namespaces

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.

Details

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

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