Class PluginShortRoute
Plugin short route, that copies the plugin param to the controller parameters It is used for supporting /:plugin routes.
Property Summary
-
$_compiledRoute protected
string
The compiled route regular expression
-
$_extensions protected
array
List of connected extensions for this route.
-
$_greedy protected
string
Is this route a greedy route? Greedy routes have a
/*
in their template -
$_inflectedDefaults protected
bool
Flag for tracking whether or not the defaults have been inflected.
-
$_name protected
string
The name for a route. Fetch with Route::getName();
-
$defaults public
array
Default parameters for a Route
-
$keys public
array
An array of named segments in a Route.
/:controller/:action/:id
has 3 key elements -
$options public
array
An array of additional parameters for the Route.
-
$template public
string
The routes template string.
Method Summary
-
__construct() public
Constructor for a Route
-
__set_state() public static
Set state magic method to support var_export
-
_matchMethod() protected
Check whether or not the URL's HTTP method matches.
-
_parseArgs() protected
Parse passed parameters into a list of passed args.
-
_parseExtension() protected
Removes the extension from $url if it contains a registered extension. If no registered extension is found, no extension is returned and the URL is returned unmodified.
-
_persistParams() protected
Apply persistent parameters to a URL array. Persistent parameters are a special key used during route creation to force route parameters to persist when omitted from a URL array.
-
_underscore() protected
Helper method for underscoring keys in a URL array.
-
_writeRoute() protected
Builds a route regular expression.
-
_writeUrl() protected
Converts a matching route array into a URL string.
-
compile() public
Compiles the route's regular expression.
-
compiled() public
Check if a Route has been compiled into a regular expression.
-
extensions() public
Get/Set the supported extensions for this route.
-
getName() public
Get the standardized plugin.controller:action name for a route.
-
match() public
Reverse route plugin shortcut URLs. If the plugin and controller are not the same the match is an auto fail.
-
parse() public
Parses a string URL into an array. If a plugin key is found, it will be copied to the controller parameter
-
staticPath() public
Get the static path portion for this route.
Method Detail
__construct() ¶ public
__construct(string $template, array|string $defaults = [], array $options = [])
Constructor for a Route
Options
_ext
- Defines the extensions used for this route.pass
- Copies the listed parameters into params['pass'].
Parameters
-
string
$template Template string with parameter placeholders
-
array|string
$defaults optional Defaults for the route.
-
array
$options optional Array of additional options for the Route
__set_state() ¶ public static
__set_state(array $fields): CakeRoute
Set state magic method to support var_export
This method helps for applications that want to implement router caching.
Parameters
-
array
$fields Key/Value of object attributes
Returns
CakeRoute
_matchMethod() ¶ protected
_matchMethod(array $url): bool
Check whether or not the URL's HTTP method matches.
Parameters
-
array
$url The array for the URL being generated.
Returns
bool
_parseArgs() ¶ protected
_parseArgs(string $args, string $context): array
Parse passed parameters into a list of passed args.
Return true if a given named $param's $val matches a given $rule depending on $context. Currently implemented rule types are controller, action and match that can be combined with each other.
Parameters
-
string
$args A string with the passed params. eg. /1/foo
-
string
$context The current route context, which should contain controller/action keys.
Returns
array
_parseExtension() ¶ protected
_parseExtension(string $url): array
Removes the extension from $url if it contains a registered extension. If no registered extension is found, no extension is returned and the URL is returned unmodified.
Parameters
-
string
$url The url to parse.
Returns
array
_persistParams() ¶ protected
_persistParams(array $url, array $params): array
Apply persistent parameters to a URL array. Persistent parameters are a special key used during route creation to force route parameters to persist when omitted from a URL array.
Parameters
-
array
$url The array to apply persistent parameters to.
-
array
$params An array of persistent values to replace persistent ones.
Returns
array
_underscore() ¶ protected
_underscore(array $url): array
Helper method for underscoring keys in a URL array.
Parameters
-
array
$url An array of URL keys.
Returns
array
_writeRoute() ¶ protected
_writeRoute(): void
Builds a route regular expression.
Uses the template, defaults and options properties to compile a regular expression that can be used to parse request strings.
Returns
void
_writeUrl() ¶ protected
_writeUrl(array $params, array $pass = [], array $query = []): string
Converts a matching route array into a URL string.
Composes the string URL using the template used to create the route.
Parameters
-
array
$params The params to convert to a string url
-
array
$pass optional The additional passed arguments
-
array
$query optional An array of parameters
Returns
string
compile() ¶ public
compile(): array
Compiles the route's regular expression.
Modifies defaults property so all necessary keys are set and populates $this->names with the named routing elements.
Returns
array
compiled() ¶ public
compiled(): bool
Check if a Route has been compiled into a regular expression.
Returns
bool
extensions() ¶ public
extensions(null|string|array $extensions = null): array|void
Get/Set the supported extensions for this route.
Parameters
-
null|string|array
$extensions optional The extensions to set. Use null to get.
Returns
array|void
getName() ¶ public
getName(): string
Get the standardized plugin.controller:action name for a route.
Returns
string
match() ¶ public
match(array $url, array $context = []): mixed
Reverse route plugin shortcut URLs. If the plugin and controller are not the same the match is an auto fail.
If the URL matches the route parameters and settings, then return a generated string URL. If the URL doesn't match the route parameters, false will be returned. This method handles the reverse routing or conversion of URL arrays into string URLs.
Parameters
-
array
$url Array of parameters to convert to a string.
-
array
$context optional An array of the current request context. Contains information such as the current host, scheme, port, and base directory.
Returns
mixed
parse() ¶ public
parse(string $url): mixed
Parses a string URL into an array. If a plugin key is found, it will be copied to the controller parameter
If the route can be parsed an array of parameters will be returned; if not false will be returned. String URLs are parsed if they match a routes regular expression.
Parameters
-
string
$url The URL to parse
Returns
mixed
staticPath() ¶ public
staticPath(): string
Get the static path portion for this route.
Returns
string
Property Detail
$_greedy ¶ protected
Is this route a greedy route? Greedy routes have a /*
in their
template
Type
string
$_inflectedDefaults ¶ protected
Flag for tracking whether or not the defaults have been inflected.
Default values need to be inflected so that they match the inflections that match() will create.
Type
bool
$keys ¶ public
An array of named segments in a Route.
/:controller/:action/:id
has 3 key elements
Type
array