Arikaim CMS

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
string

isStaticRoute()

Return true if route is static

public static isStaticRoute(mixed $routeData) : bool
Parameters
$routeData : mixed
Return values
bool

parse()

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
Return values
bool

        
On this page

Search results