RouteParser
in package
Parses route strings:
"/user/{name}[/{id:[0-9]+}]"
Table of Contents
Constants
- DEFAULT_DISPATCH_REGEX = '[^/]+'
- VARIABLE_REGEX = <<<'REGEX' \{ \s* ([a-zA-Z_][a-zA-Z0-9_-]*) \s* (?: : \s* ([^{}]*(?:\{(?-1)\}[^{}]*)*) )? \} REGEX
Methods
- buildRegexForRoute() : array<string|int, mixed>
- Create route regex
- createRegex() : string
- Create route regex
- isStaticRoute() : bool
- Return true if route is static
- parse() : array<string|int, mixed>
- Parse route pattern
- parsePlaceholders() : array<string|int, mixed>
- Parses a route string that does not contain optional segments.
- regexHasCapturingGroups() : bool
- Test for capturing groups
Constants
DEFAULT_DISPATCH_REGEX
public
mixed
DEFAULT_DISPATCH_REGEX
= '[^/]+'
VARIABLE_REGEX
public
mixed
VARIABLE_REGEX
= <<<'REGEX'
\{
\s* ([a-zA-Z_][a-zA-Z0-9_-]*) \s*
(?:
: \s* ([^{}]*(?:\{(?-1)\}[^{}]*)*)
)?
\}
REGEX
Methods
buildRegexForRoute()
Create route regex
public
static buildRegexForRoute(array<string|int, mixed> $routeData) : array<string|int, mixed>
Parameters
- $routeData : array<string|int, mixed>
Return values
array<string|int, mixed>createRegex()
Create route regex
public
static createRegex(array<string|int, mixed>|string $routeData) : string
Parameters
- $routeData : array<string|int, mixed>|string
Return values
stringisStaticRoute()
Return true if route is static
public
static isStaticRoute(mixed $routeData) : bool
Parameters
- $routeData : mixed
Return values
boolparse()
Parse route pattern
public
static parse(string $routePattern) : array<string|int, mixed>
Parameters
- $routePattern : string
Return values
array<string|int, mixed>parsePlaceholders()
Parses a route string that does not contain optional segments.
public
static parsePlaceholders(mixed $route) : array<string|int, mixed>
Parameters
- $route : mixed
Return values
array<string|int, mixed>regexHasCapturingGroups()
Test for capturing groups
public
static regexHasCapturingGroups(mixed $regex) : bool
Parameters
- $regex : mixed