class DynamicRoutePart extends AbstractRoutePart implements DynamicRoutePartInterface, ParameterAwareRoutePartInterface (View source)

Dynamic Route Part

Properties

protected string $name

Name of the Route Part

from  AbstractRoutePart
protected mixed $value

Value of the Route Part after decoding.

from  AbstractRoutePart
protected mixed $defaultValue

Default value of the Route Part.

from  AbstractRoutePart
protected bool $isOptional

Specifies whether this Route Part is optional. Which means it's put in parentheses in the routes URI pattern.

from  AbstractRoutePart
protected bool $lowerCase

Specifies whether this Route Part should be converted to lower case when resolved.

from  AbstractRoutePart
protected array $options

Contains options for this Route Part.

from  AbstractRoutePart
protected PersistenceManagerInterface $persistenceManager
protected string $splitString

The split string represents the end of a Dynamic Route Part.

protected RouteParameters $parameters

The Routing RouteParameters passed to matchWithParameters() These allow sub classes to adjust the matching behavior accordingly

Methods

void
setName(string $partName)

Sets name of the Route Part.

string
getName()

Returns name of the Route Part.

bool
hasValue()

Returns true if a value is set for this Route Part, otherwise false.

mixed
getValue()

Returns value of the Route Part. Before match() is called this returns NULL.

bool
hasDefaultValue()

Returns true if a default value is set for this Route Part, otherwise false.

void
setDefaultValue(mixed $defaultValue)

Sets default value of the Route Part.

mixed
getDefaultValue()

Gets default value of the Route Part.

void
setOptional(bool $isOptional)

Specifies whether this Route part is optional.

bool
isOptional()

Getter for $this->isOptional.

void
setLowerCase(bool $lowerCase)

Specifies whether this Route part should be converted to lower case when resolved.

bool
isLowerCase()

Getter for $this->lowerCase.

void
setOptions(array $options)

Defines options for this Route Part.

array
getOptions()

No description

void
setSplitString(string $splitString)

Sets split string of the Route Part.

match(string $routePath)

Checks whether this Dynamic Route Part corresponds to the given $routePath.

bool
matchWithParameters(string $routePath, RouteParameters $parameters)

Checks whether this Dynamic Route Part corresponds to the given $routePath.

string
findValueToMatch(string|null $routePath)

Returns the first part of $routePath.

matchValue(string $value)

Checks, whether given value can be matched.

void
removeMatchingPortionFromRequestPath(string $routePath, string $valueToMatch)

Removes matching part from $routePath.

resolve(array $routeValues)

Checks whether $routeValues contains elements which correspond to this Dynamic Route Part.

resolveWithParameters(array $routeValues, RouteParameters $parameters)

Checks whether $routeValues contains elements which correspond to this Dynamic Route Part.

string|array
findValueToResolve(array $routeValues)

Returns the route value of the current route part.

resolveValue(mixed $value)

Checks, whether given value can be resolved and if so, sets $this->value to the resolved value.

Details

void setName(string $partName)

Sets name of the Route Part.

Parameters

string $partName

Return Value

void

string getName()

Returns name of the Route Part.

Return Value

string

bool hasValue()

Returns true if a value is set for this Route Part, otherwise false.

Return Value

bool

mixed getValue()

Returns value of the Route Part. Before match() is called this returns NULL.

Return Value

mixed

bool hasDefaultValue()

Returns true if a default value is set for this Route Part, otherwise false.

Return Value

bool

void setDefaultValue(mixed $defaultValue)

Sets default value of the Route Part.

Parameters

mixed $defaultValue

Return Value

void

mixed getDefaultValue()

Gets default value of the Route Part.

Return Value

mixed $defaultValue

void setOptional(bool $isOptional)

Specifies whether this Route part is optional.

Parameters

bool $isOptional

true: this Route part is optional. false: this Route part is required.

Return Value

void

bool isOptional()

Getter for $this->isOptional.

Return Value

bool

true if this Route part is optional, otherwise false.

See also

setOptional()

void setLowerCase(bool $lowerCase)

Specifies whether this Route part should be converted to lower case when resolved.

Parameters

bool $lowerCase

true: this Route part is converted to lower case. false: this Route part is not altered.

Return Value

void

bool isLowerCase()

Getter for $this->lowerCase.

Return Value

bool

true if this Route part will be converted to lower case, otherwise false.

See also

setLowerCase()

void setOptions(array $options)

Defines options for this Route Part.

Options can be used to enrich a route part with parameters or settings like case sensivity.

Parameters

array $options

Return Value

void

array getOptions()

No description

Return Value

array

options of this Route Part.

void setSplitString(string $splitString)

Sets split string of the Route Part.

Parameters

string $splitString

Return Value

void

final bool|MatchResult match(string $routePath)

Checks whether this Dynamic Route Part corresponds to the given $routePath.

Parameters

string $routePath

The request path to be matched - without query parameters, host and fragment.

Return Value

bool|MatchResult

true or an instance of MatchResult if Route Part matched $routePath, otherwise false.

See also

matchWithParameters()

final bool matchWithParameters(string $routePath, RouteParameters $parameters)

Checks whether this Dynamic Route Part corresponds to the given $routePath.

On successful match this method sets $this->value to the corresponding uriPart and shortens $routePath respectively.

Parameters

string $routePath

The request path to be matched - without query parameters, host and fragment.

RouteParameters $parameters

The Routing RouteParameters that can be registered via HTTP middleware

Return Value

bool

true if Route Part matched $routePath, otherwise false.

protected string findValueToMatch(string|null $routePath)

Returns the first part of $routePath.

If a split string is set, only the first part of the value until location of the splitString is returned. This method can be overridden by custom RoutePartHandlers to implement custom matching mechanisms.

Parameters

string|null $routePath

The request path to be matched

Return Value

string

value to match, or an empty string if $routePath is empty or split string was not found

protected bool|MatchResult matchValue(string $value)

Checks, whether given value can be matched.

In the case of default Dynamic Route Parts a value matches when it's not empty. This method can be overridden by custom RoutePartHandlers to implement custom matching mechanisms.

Parameters

string $value

value to match

Return Value

bool|MatchResult

An instance of MatchResult if value could be matched successfully, otherwise false.

protected void removeMatchingPortionFromRequestPath(string $routePath, string $valueToMatch)

Removes matching part from $routePath.

This method can be overridden by custom RoutePartHandlers to implement custom matching mechanisms.

Parameters

string $routePath

The request path to be matched

string $valueToMatch

The matching value

Return Value

void

final bool|ResolveResult resolve(array $routeValues)

Checks whether $routeValues contains elements which correspond to this Dynamic Route Part.

If a corresponding element is found in $routeValues, this element is removed from the array.

Parameters

array $routeValues

An array with key/value pairs to be resolved by Dynamic Route Parts.

Return Value

bool|ResolveResult

true or an instance of ResolveResult if Route Part can resolve one or more $routeValues elements, otherwise false.

See also

resolveWithParameters()

final bool|ResolveResult resolveWithParameters(array $routeValues, RouteParameters $parameters)

Checks whether $routeValues contains elements which correspond to this Dynamic Route Part.

If a corresponding element is found in $routeValues, this element is removed from the array.

Parameters

array $routeValues

An array with key/value pairs to be resolved by Dynamic Route Parts.

RouteParameters $parameters

The Routing RouteParameters that can be registered via HTTP middleware

Return Value

bool|ResolveResult

true or an instance of ResolveResult if Route Part can resolve one or more $routeValues elements, otherwise false.

protected string|array findValueToResolve(array $routeValues)

Returns the route value of the current route part.

This method can be overridden by custom RoutePartHandlers to implement custom resolving mechanisms.

Parameters

array $routeValues

An array with key/value pairs to be resolved by Dynamic Route Parts.

Return Value

string|array

value to resolve.

protected bool|ResolveResult resolveValue(mixed $value)

Checks, whether given value can be resolved and if so, sets $this->value to the resolved value.

If $value is empty, this method checks whether a default value exists. This method can be overridden by custom RoutePartHandlers to implement custom resolving mechanisms.

Parameters

mixed $value

value to resolve

Return Value

bool|ResolveResult

An instance of ResolveResult if value could be resolved successfully, otherwise false.