PHP Class eZ\Publish\Core\MVC\Symfony\Matcher\AbstractMatcherFactory

Implementors can define MATCHER_RELATIVE_NAMESPACE constant. If so, getMatcher() will return instances of objects relative to this namespace if $matcherIdentifier argument doesn't begin with a '\' (FQ class name).
Inheritance: implements eZ\Publish\Core\MVC\Symfony\Matcher\MatcherFactoryInterface
Show file Open project: ezsystems/ezpublish-kernel Class Usage Examples

Protected Properties

Property Type Description
$alreadyMatched SplObjectStorage[] Key is the view type.
$matchConfig array
$matcherRelativeNamespace string Namespace built-in matchers are relative to.
$matchers eZ\Publish\Core\MVC\Symfony\Matcher\MatcherInterface[]
$repository eZ\Publish\API\Repository\Repository

Public Methods

Method Description
__construct ( eZ\Publish\API\Repository\Repository $repository, array $matchConfig = [] )
match ( eZ\Publish\Core\MVC\Symfony\View\View $view ) : array | null Checks if $valueObject has a usable configuration for $viewType.

Protected Methods

Method Description
doMatch ( eZ\Publish\Core\MVC\Symfony\Matcher\MatcherInterface $matcher, eZ\Publish\Core\MVC\Symfony\View\View $valueObject ) : boolean Checks if $valueObject matches $matcher rules.
getMatcher ( string $matcherIdentifier ) : eZ\Publish\Core\MVC\Symfony\Matcher\MatcherInterface | eZ\Publish\Core\MVC\Symfony\Matcher\ViewMatcherInterface Returns the matcher object.

Method Details

__construct() public method

public __construct ( eZ\Publish\API\Repository\Repository $repository, array $matchConfig = [] )
$repository eZ\Publish\API\Repository\Repository
$matchConfig array

doMatch() abstract protected method

Checks if $valueObject matches $matcher rules.
abstract protected doMatch ( eZ\Publish\Core\MVC\Symfony\Matcher\MatcherInterface $matcher, eZ\Publish\Core\MVC\Symfony\View\View $valueObject ) : boolean
$matcher eZ\Publish\Core\MVC\Symfony\Matcher\MatcherInterface
$valueObject eZ\Publish\Core\MVC\Symfony\View\View
return boolean

getMatcher() protected method

Returns the matcher object.
protected getMatcher ( string $matcherIdentifier ) : eZ\Publish\Core\MVC\Symfony\Matcher\MatcherInterface | eZ\Publish\Core\MVC\Symfony\Matcher\ViewMatcherInterface
$matcherIdentifier string The matcher class. If it begins with a '\' it means it's a FQ class name, otherwise it is relative to static::MATCHER_RELATIVE_NAMESPACE namespace (if available).
return eZ\Publish\Core\MVC\Symfony\Matcher\MatcherInterface | eZ\Publish\Core\MVC\Symfony\Matcher\ViewMatcherInterface

match() public method

If so, the configuration hash will be returned. $valueObject can be for example a Location or a Content object.
public match ( eZ\Publish\Core\MVC\Symfony\View\View $view ) : array | null
$view eZ\Publish\Core\MVC\Symfony\View\View
return array | null The matched configuration as a hash, containing template or controller to use, or null if not matched.

Property Details

$alreadyMatched protected property

Key is the view type.
protected SplObjectStorage[] $alreadyMatched
return SplObjectStorage[]

$matchConfig protected property

protected array $matchConfig
return array

$matcherRelativeNamespace protected property

Namespace built-in matchers are relative to.
protected string $matcherRelativeNamespace
return string

$matchers protected property

protected MatcherInterface[],eZ\Publish\Core\MVC\Symfony\Matcher $matchers
return eZ\Publish\Core\MVC\Symfony\Matcher\MatcherInterface[]

$repository protected property

protected Repository,eZ\Publish\API\Repository $repository
return eZ\Publish\API\Repository\Repository