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

A relative namespace can be defined. If so, getMatcher() will search for the requested matcher inside this namespace if a relative namespace (not starting with '\') is passed.
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 Typically, one of the *_view siteaccess aware settings 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, $relativeNamespace = null, array $matchConfig = [] )
match ( eZ\Publish\Core\MVC\Symfony\View\View $view ) : array | null Checks if $valueObject has a usable configuration for $viewType.
setMatchConfig ( array $matchConfig ) : AbstractMatcherFactory

Protected Methods

Method Description
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, $relativeNamespace = null, array $matchConfig = [] )
$repository eZ\Publish\API\Repository\Repository
$matchConfig array

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 identifier. If it begins with a '\' it means it's a FQ class name. If it does not and a relative namespace is set, it is searched inside the relative namespace if set.
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.

setMatchConfig() public method

public setMatchConfig ( array $matchConfig ) : AbstractMatcherFactory
$matchConfig array
return AbstractMatcherFactory

Property Details

$alreadyMatched protected property

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

$matchConfig protected property

Typically, one of the *_view siteaccess aware settings array.
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