SimpleEnhancer extends AbstractEnhancer implements RoutingEnhancerInterface, InflatableEnhancerInterface, ResultingInterface
This is usually used for simple GET arguments that have no namespace (e.g. not plugins).
routeEnhancers Categories: type: Simple routePath: '/cmd/{category_id}/{scope_id}' _arguments: category_id: 'category/id' scope_id: 'scope/id'
Table of Contents
Interfaces
- RoutingEnhancerInterface
- Interface for enhancers
- InflatableEnhancerInterface
- Interface asserting that enhancer is capable of inflating parameters.
- ResultingInterface
- Extend the Resulting Interface to explain that this route builds the page arguments itself, instead of having the PageRouter having to deal with that.
Properties
- $aspects : array<string|int, AspectInterface>
- $configuration : array<string|int, mixed>
- $variableProcessor : VariableProcessor|null
Methods
- __construct() : mixed
- buildResult() : PageArguments
- enhanceForGeneration() : void
- Extends route collection with routes that are relevant for given parameters. Used during URL generation.
- enhanceForMatching() : void
- Extends route collection with all routes. Used during URL resolving.
- getAspects() : array<string|int, AspectInterface>
- inflateParameters() : array<string|int, mixed>
- setAspects() : void
- applyRequirements() : mixed
- applyRouteAspects() : mixed
- applyStaticVariables() : void
- Applies variables that are considered static (not having `&cHash=...` applied), without having the demand to define a custom `StaticMappableAspectInterface` to fake the behavior.
- 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
- getVariant() : Route
- Builds a variant of a route based on the given configuration.
- modifyRoutePath() : string
- Modify the route path to add the variable names with the aspects, e.g.
- overrideValuesByAspect() : array<string|int, mixed>
- Overrides items having an aspect definition with a given $overrideValue in target $targetValue array.
- resolveType() : string
- Retrieves type from processed route and modifies remaining query parameters.
Properties
$aspects
        protected
            array<string|int, AspectInterface>
    $aspects
     = []
    
    
    
    
    
$configuration
        protected
            array<string|int, mixed>
    $configuration
    
    
    
    
    
    
$variableProcessor
        protected
            VariableProcessor|null
    $variableProcessor
    
    
    
    
    
    
Methods
__construct()
    public
                    __construct(array<string|int, mixed> $configuration) : mixed
    Parameters
- $configuration : array<string|int, mixed>
buildResult()
    public
                    buildResult(Route $route, array<string|int, mixed> $results[, array<string|int, mixed> $remainingQueryParameters = [] ]) : PageArguments
    Parameters
- $route : Route
- $results : array<string|int, mixed>
- $remainingQueryParameters : array<string|int, mixed> = []
Return values
PageArgumentsenhanceForGeneration()
Extends route collection with routes that are relevant for given parameters. Used during URL generation.
    public
                    enhanceForGeneration(RouteCollection $collection, array<string|int, mixed> $parameters) : void
    Parameters
- $collection : RouteCollection
- $parameters : array<string|int, mixed>
enhanceForMatching()
Extends route collection with all routes. Used during URL resolving.
    public
                    enhanceForMatching(RouteCollection $collection) : void
    Parameters
- $collection : RouteCollection
getAspects()
    public
                    getAspects() : array<string|int, AspectInterface>
    Return values
array<string|int, AspectInterface>inflateParameters()
    public
                    inflateParameters(array<string|int, mixed> $parameters[, array<string|int, mixed> $internals = [] ]) : array<string|int, mixed>
    Parameters
- $parameters : array<string|int, mixed>
- $internals : array<string|int, mixed> = []
Return values
array<string|int, mixed>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
applyStaticVariables()
Applies variables that are considered static (not having `&cHash=...` applied), without having the demand to define a custom `StaticMappableAspectInterface` to fake the behavior.
    protected
                    applyStaticVariables(Route $route, array<non-empty-string, bool> $staticVariables[, string|null $namespace = null ]) : void
    However:
- in case there's an aspect defined for a variable, it will be skipped (aspects take precedence)
- in case not requirement is defined for a variable, it will be skipped (avoiding weak definitions)
Parameters
- $route : Route
- $staticVariables : array<non-empty-string, bool>
- 
                    option values 
- $namespace : string|null = null
defineValuesByAspect()
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
VariableProcessorgetVariant()
Builds a variant of a route based on the given configuration.
    protected
                    getVariant(Route $defaultPageRoute, array<string|int, mixed> $configuration) : Route
    Parameters
- $defaultPageRoute : Route
- $configuration : array<string|int, mixed>
Return values
RoutemodifyRoutePath()
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
stringoverrideValuesByAspect()
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>resolveType()
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