‪TYPO3CMS  10.4
TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer Class Reference
Inheritance diagram for TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer:
TYPO3\CMS\Core\Routing\Enhancer\EnhancerInterface TYPO3\CMS\Core\Routing\Enhancer\PageTypeDecorator TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer TYPO3\CMS\Core\Routing\Enhancer\SimpleEnhancer TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer

Public Member Functions

 setAspects (array $aspects)
 
 getAspects ()
 

Protected Member Functions

 applyRouteAspects (Route $route, array $aspects, string $namespace=null)
 
 applyRequirements (Route $route, array $requirements, string $namespace=null)
 
array filterValuesByPathVariables (Route $route, array $values)
 
array overrideValuesByAspect (Route $route, array $values, string $targetValue)
 
array defineValuesByAspect (Route $route, array $values, string $targetValue)
 
string modifyRoutePath (string $routePath)
 
string resolveType (Route $route, array &$remainingQueryParameters)
 
VariableProcessor getVariableProcessor ()
 

Protected Attributes

AspectInterface[] $aspects = array( )
 
VariableProcessor $variableProcessor
 

Detailed Description

Abstract Enhancer, useful for custom enhancers

Definition at line 27 of file AbstractEnhancer.php.

Member Function Documentation

◆ applyRequirements()

◆ applyRouteAspects()

◆ defineValuesByAspect()

array TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer::defineValuesByAspect ( Route  $route,
array  $values,
string  $targetValue 
)
protected

Define items having an aspect definition in case they are not defined with a given $targetValue in target $targetValue array.

Parameters
Route$route
array$values
string$targetValue
Returns
‪array

Definition at line 132 of file AbstractEnhancer.php.

References TYPO3\CMS\Core\Routing\Route\getAspects().

Referenced by TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer\applyRequirements().

◆ filterValuesByPathVariables()

array TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer::filterValuesByPathVariables ( Route  $route,
array  $values 
)
protected

Only keeps values that actually have been used as variables in route path.

  • ‪routePath: '/list/{page}' ('page' used as variable in route path)
  • ‪values: ['entity' => 'entity...', 'page' => 'page...', 'other' => 'other...']
  • ‪result: ['page' => 'page...']
Parameters
Route$route
array$values
Returns
‪array

Definition at line 98 of file AbstractEnhancer.php.

Referenced by TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer\applyRequirements(), TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer\getVariant(), TYPO3\CMS\Core\Routing\Enhancer\SimpleEnhancer\getVariant(), and TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer\getVariant().

◆ getAspects()

TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer::getAspects ( )

{

Returns
‪AspectInterface[]
}

Implements TYPO3\CMS\Core\Routing\Enhancer\EnhancerInterface.

Definition at line 216 of file AbstractEnhancer.php.

References TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer\$aspects.

◆ getVariableProcessor()

◆ modifyRoutePath()

string TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer::modifyRoutePath ( string  $routePath)
protected

Modify the route path to add the variable names with the aspects, e.g.

  • /{locale_modifier}/{product_title} -> /products/{product_title}
  • /{!locale_modifier}/{product_title} -> /products/{product_title}
Parameters
string$routePath
Returns
‪string

Definition at line 152 of file AbstractEnhancer.php.

Referenced by TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer\getVariant(), TYPO3\CMS\Core\Routing\Enhancer\SimpleEnhancer\getVariant(), and TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer\getVariant().

◆ overrideValuesByAspect()

array TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer::overrideValuesByAspect ( Route  $route,
array  $values,
string  $targetValue 
)
protected

Overrides items having an aspect definition with a given $overrideValue in target $targetValue array.

Parameters
Route$route
array$values
string$targetValue
Returns
‪array

Definition at line 115 of file AbstractEnhancer.php.

References TYPO3\CMS\Core\Routing\Route\getAspects().

◆ resolveType()

string TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer::resolveType ( Route  $route,
array &  $remainingQueryParameters 
)
protected

Retrieves type from processed route and modifies remaining query parameters.

Parameters
Route$route
array$remainingQueryParameters‪reference to remaining query parameters
Returns
‪string

Definition at line 179 of file AbstractEnhancer.php.

Referenced by TYPO3\CMS\Core\Routing\Enhancer\SimpleEnhancer\buildResult(), and TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer\buildResult().

◆ setAspects()

TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer::setAspects ( array  $aspects)

{

Parameters
AspectInterface[]$aspects
}

Implements TYPO3\CMS\Core\Routing\Enhancer\EnhancerInterface.

Definition at line 208 of file AbstractEnhancer.php.

References TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer\$aspects.

Member Data Documentation

◆ $aspects

◆ $variableProcessor