VariableProcessor
Helper for processing various variables within a Route Enhancer
Attributes
- #[Autoconfigure]
- $public: true
- $shared: false
Table of Contents
Constants
- ARGUMENT_SEPARATOR : mixed = '/'
- LEVEL_DELIMITER : mixed = '__'
- VARIABLE_PATTERN : mixed = '#\{(?P<modifier>!)?(?P<name>[^}]+)\}#'
Properties
- $hashes : array
- $nestedValues : array
Methods
- __construct() : mixed
- deflateKeys() : array
- Deflates keys names on the first level, now recursion into sub-arrays.
- deflateNamespaceParameters() : array
- Deflates (flattens) route/request parameters for a given namespace.
- deflateParameters() : array
- Deflates (flattens) route/request parameters for a given namespace.
- deflateRoutePath() : string
- inflateKeys() : array
- Inflates keys names on the first level, now recursion into sub-arrays.
- inflateNamespaceParameters() : array
- Inflates (unflattens) route/request parameters.
- inflateParameters() : array
- Inflates (unflattens) route/request parameters.
- inflateRoutePath() : string
- addHash() : string
- addNestedValue() : string
- deflateArray() : array
- Deflates (flattens) array having nested structures.
- deflateValues() : array
- Deflates plain values.
- generateHash() : string
- inflateArray() : array
- Inflates (unflattens) an array into nested structures.
- inflateNestedValue() : string
- inflateValues() : array
- Inflates plain values.
- requiresHashing() : bool
- Determines whether a parameter value requires hashing.
- resolveHash() : string
- resolveNestedValue() : string
Constants
ARGUMENT_SEPARATOR
protected
mixed
ARGUMENT_SEPARATOR
= '/'
LEVEL_DELIMITER
protected
mixed
LEVEL_DELIMITER
= '__'
VARIABLE_PATTERN
protected
mixed
VARIABLE_PATTERN
= '#\{(?P<modifier>!)?(?P<name>[^}]+)\}#'
Properties
$hashes
protected
array
$hashes
= []
$nestedValues
protected
array
$nestedValues
= []
Methods
__construct()
public
__construct(VariableProcessorCache $cache) : mixed
Parameters
- $cache : VariableProcessorCache
deflateKeys()
Deflates keys names on the first level, now recursion into sub-arrays.
public
deflateKeys(array $items[, string|null $namespace = null ][, array $arguments = [] ][, bool $hash = true ]) : array
Can be used to adjust key names of route requirements, mappers, etc.
Parameters
- $items : array
- $namespace : string|null = null
- $arguments : array = []
- $hash : bool = true
Return values
arraydeflateNamespaceParameters()
Deflates (flattens) route/request parameters for a given namespace.
public
deflateNamespaceParameters(array $parameters, string $namespace[, array $arguments = [] ]) : array
Parameters
- $parameters : array
- $namespace : string
- $arguments : array = []
Return values
arraydeflateParameters()
Deflates (flattens) route/request parameters for a given namespace.
public
deflateParameters(array $parameters[, array $arguments = [] ]) : array
Parameters
- $parameters : array
- $arguments : array = []
Return values
arraydeflateRoutePath()
public
deflateRoutePath(string $routePath[, string|null $namespace = null ][, array $arguments = [] ]) : string
Parameters
- $routePath : string
- $namespace : string|null = null
- $arguments : array = []
Return values
stringinflateKeys()
Inflates keys names on the first level, now recursion into sub-arrays.
public
inflateKeys(array $items[, string|null $namespace = null ][, array $arguments = [] ][, bool $hash = true ]) : array
Can be used to adjust key names of route requirements, mappers, etc.
Parameters
- $items : array
- $namespace : string|null = null
- $arguments : array = []
- $hash : bool = true
Return values
arrayinflateNamespaceParameters()
Inflates (unflattens) route/request parameters.
public
inflateNamespaceParameters(array $parameters, string $namespace[, array $arguments = [] ]) : array
Parameters
- $parameters : array
- $namespace : string
- $arguments : array = []
Return values
arrayinflateParameters()
Inflates (unflattens) route/request parameters.
public
inflateParameters(array $parameters[, array $arguments = [] ]) : array
Parameters
- $parameters : array
- $arguments : array = []
Return values
arrayinflateRoutePath()
public
inflateRoutePath(string $routePath[, string|null $namespace = null ][, array $arguments = [] ]) : string
Parameters
- $routePath : string
- $namespace : string|null = null
- $arguments : array = []
Return values
stringaddHash()
protected
addHash(string $value) : string
Parameters
- $value : string
Return values
stringaddNestedValue()
protected
addNestedValue(string $value) : string
Parameters
- $value : string
Return values
stringdeflateArray()
Deflates (flattens) array having nested structures.
protected
deflateArray(array $array[, string $prefix = '' ]) : array
Parameters
- $array : array
- $prefix : string = ''
Return values
arraydeflateValues()
Deflates plain values.
protected
deflateValues(array $values[, string|null $namespace = null ][, array $arguments = [] ][, bool $hash = true ]) : array
Parameters
- $values : array
- $namespace : string|null = null
- $arguments : array = []
- $hash : bool = true
Return values
arraygenerateHash()
protected
generateHash(string $value) : string
Parameters
- $value : string
Return values
stringinflateArray()
Inflates (unflattens) an array into nested structures.
protected
inflateArray(array $array, string $namespace, array $arguments) : array
Parameters
- $array : array
- $namespace : string
- $arguments : array
Return values
arrayinflateNestedValue()
protected
inflateNestedValue(string $value, string|null $namespace, array $arguments) : string
Parameters
- $value : string
- $namespace : string|null
- $arguments : array
Return values
stringinflateValues()
Inflates plain values.
protected
inflateValues(array $values[, string|null $namespace = null ][, array $arguments = [] ][, bool $hash = true ]) : array
Parameters
- $values : array
- $namespace : string|null = null
- $arguments : array = []
- $hash : bool = true
Return values
arrayrequiresHashing()
Determines whether a parameter value requires hashing.
protected
requiresHashing(string $value) : bool
This is the case if the value has 31+ chars (Symfony has a limitation of 32 chars),
or if the value contains any non-word characters besides [A-Za-z0-9_], such as @.
Parameters
- $value : string
Return values
boolresolveHash()
protected
resolveHash(string $hash) : string
Parameters
- $hash : string
Tags
Return values
stringresolveNestedValue()
protected
resolveNestedValue(string $value) : string
Parameters
- $value : string