PageTypeDecorator extends AbstractEnhancer implements DecoratingEnhancerInterface
Resolves a static list (like page.typeNum) against a file pattern. Usually added on the very last part of the URL.
It is important that the PageType Enhancer is executed at the very end in your configuration, as it modifies EXISTING route variants.
routeEnhancers: PageTypeSuffix: type: PageType default: '' index: 'index' map: '.html': 1 'menu.json': 13
Table of Contents
Interfaces
- DecoratingEnhancerInterface
- Decorates a route (or routes within a collection) with additional parameters.
Constants
- ROUTE_PATH_DELIMITERS = ['.', '-', '_', '/']
Properties
- $aspects : array<string|int, AspectInterface>
- $configuration : array<string|int, mixed>
- $default : string
- $index : string
- $map : array<string|int, mixed>
- $variableProcessor : VariableProcessor|null
Methods
- __construct() : mixed
- decorateForGeneration() : void
- Decorates route collection during URL URL generation.
- decorateForMatching() : void
- Decorates route collection to be processed during URL resolving.
- getAspects() : array<string|int, AspectInterface>
- getRoutePathRedecorationPattern() : string
- Gets pattern that can be used to redecorate (undecorate) a potential previously decorated route path.
- setAspects() : void
- applyRequirements() : mixed
- applyRouteAspects() : mixed
- buildRegularExpressionPattern() : string
- Builds a regexp out of the map.
- defineValuesByAspect() : array<string|int, mixed>
- Define items having an aspect definition in case they are not defined with a given $targetValue in target $targetValue array.
- filterValuesByPathVariables() : array<string|int, mixed>
- Only keeps values that actually have been used as variables in route path.
- getVariableProcessor() : VariableProcessor
- modifyRoutePath() : string
- Modify the route path to add the variable names with the aspects, e.g.
- needsSlashPrefix() : bool
- Checks if a slash should be prefixed.
- overrideValuesByAspect() : array<string|int, mixed>
- Overrides items having an aspect definition with a given $overrideValue in target $targetValue array.
- quoteForRegularExpressionPattern() : string
- Helper method for regexps.
- resolveType() : string
- Retrieves type from processed route and modifies remaining query parameters.
- resolveValue() : string
- Checks if the value exists inside the map.
Constants
ROUTE_PATH_DELIMITERS
    protected
        mixed
    ROUTE_PATH_DELIMITERS
    = ['.', '-', '_', '/']
    
    
    
    
Properties
$aspects
        protected
            array<string|int, AspectInterface>
    $aspects
     = []
    
    
    
    
    
$configuration
        protected
            array<string|int, mixed>
    $configuration
    
    
    
    
    
    
$default
        protected
            string
    $default
    
    
    
    
    
    
$index
        protected
            string
    $index
    
    
    
    
    
    
$map
        protected
            array<string|int, mixed>
    $map
    
    
    
    
    
    
$variableProcessor
        protected
            VariableProcessor|null
    $variableProcessor
    
    
    
    
    
    
Methods
__construct()
    public
                    __construct(array<string|int, mixed> $configuration) : mixed
    Parameters
- $configuration : array<string|int, mixed>
decorateForGeneration()
Decorates route collection during URL URL generation.
    public
                    decorateForGeneration(RouteCollection $collection, array<string|int, mixed> $parameters) : void
    Parameters
- $collection : RouteCollection
- $parameters : array<string|int, mixed>
- 
                    query parameters 
decorateForMatching()
Decorates route collection to be processed during URL resolving.
    public
                    decorateForMatching(RouteCollection $collection, string $routePath) : void
    Parameters
- $collection : RouteCollection
- $routePath : string
- 
                    URL path 
getAspects()
    public
                    getAspects() : array<string|int, AspectInterface>
    Return values
array<string|int, AspectInterface>getRoutePathRedecorationPattern()
Gets pattern that can be used to redecorate (undecorate) a potential previously decorated route path.
    public
                    getRoutePathRedecorationPattern() : string
    Example:
- route path: 'first/second.html'
- redecoration pattern: '(?:.html|.json)$' -> 'first/second' might be the redecorated route path after applying the redecoration pattern to preg_match/preg_replace
Return values
string —regular expression pattern
setAspects()
    public
                    setAspects(array<string|int, mixed> $aspects) : void
    Parameters
- $aspects : array<string|int, mixed>
applyRequirements()
    protected
                    applyRequirements(Route $route, array<string|int, mixed> $requirements[, string|null $namespace = null ]) : mixed
    Parameters
- $route : Route
- $requirements : array<string|int, mixed>
- $namespace : string|null = null
applyRouteAspects()
    protected
                    applyRouteAspects(Route $route, array<string|int, AspectInterface> $aspects[, string|null $namespace = null ]) : mixed
    Parameters
- $route : Route
- $aspects : array<string|int, AspectInterface>
- $namespace : string|null = null
buildRegularExpressionPattern()
Builds a regexp out of the map.
    protected
                    buildRegularExpressionPattern([bool $useNames = true ]) : string
    Parameters
- $useNames : bool = true
Return values
stringdefineValuesByAspect()
Define items having an aspect definition in case they are not defined with a given $targetValue in target $targetValue array.
    protected
                    defineValuesByAspect(Route $route, array<string|int, mixed> $values, string $targetValue) : array<string|int, mixed>
    Parameters
- $route : Route
- $values : array<string|int, mixed>
- $targetValue : string
Return values
array<string|int, mixed>filterValuesByPathVariables()
Only keeps values that actually have been used as variables in route path.
    protected
                    filterValuesByPathVariables(Route $route, array<string|int, mixed> $values) : array<string|int, mixed>
    - routePath: '/list/{page}' ('page' used as variable in route path)
- values: ['entity' => 'entity...', 'page' => 'page...', 'other' => 'other...']
- result: ['page' => 'page...']
Parameters
- $route : Route
- $values : array<string|int, mixed>
Return values
array<string|int, mixed>getVariableProcessor()
    protected
                    getVariableProcessor() : VariableProcessor
    Return values
VariableProcessormodifyRoutePath()
Modify the route path to add the variable names with the aspects, e.g.
    protected
                    modifyRoutePath(string $routePath) : string
    - /{locale_modifier}/{product_title}->- /products/{product_title}
- /{!locale_modifier}/{product_title}->- /products/{product_title}
Parameters
- $routePath : string
Return values
stringneedsSlashPrefix()
Checks if a slash should be prefixed.
    protected
                    needsSlashPrefix(string $value) : bool
    Parameters
- $value : string
Return values
booloverrideValuesByAspect()
Overrides items having an aspect definition with a given $overrideValue in target $targetValue array.
    protected
                    overrideValuesByAspect(Route $route, array<string|int, mixed> $values, string $targetValue) : array<string|int, mixed>
    Parameters
- $route : Route
- $values : array<string|int, mixed>
- $targetValue : string
Return values
array<string|int, mixed>quoteForRegularExpressionPattern()
Helper method for regexps.
    protected
                    quoteForRegularExpressionPattern(string $value) : string
    Parameters
- $value : string
Return values
stringresolveType()
Retrieves type from processed route and modifies remaining query parameters.
    protected
                    resolveType(Route $route, array<string|int, mixed> &$remainingQueryParameters) : string
    Parameters
- $route : Route
- $remainingQueryParameters : array<string|int, mixed>
- 
                    reference to remaining query parameters 
Return values
stringresolveValue()
Checks if the value exists inside the map.
    protected
                    resolveValue(string|null $type) : string
    Parameters
- $type : string|null