VALID_METHODS
VALID_METHODS = array('GET', 'PUT', 'POST', 'PATCH', 'DELETE', 'OPTIONS', 'HEAD') : array
Valid HTTP methods.
Plugin short route, that copies the plugin param to the controller parameters It is used for supporting /:plugin routes.
Not normally created as a standalone. Use Router::connect() to create Routes for your application.
parse(string $url, string $method = '') : array|false
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.
string | $url | The URL to parse |
string | $method | The HTTP method |
An array of request parameters, or boolean false on failure.
match(array $url, array $context = array()) : string|false
Reverses 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.
array | $url | Array of parameters to convert to a string. |
array | $context | An array of the current request context. Contains information such as the current host, scheme, port, and base directory. |
Either a string URL for the parameters if they match or false.
__construct(string $template, array|string $defaults = array(), array $options = array())
Constructor for a Route
_ext
- Defines the extensions used for this route._middleware
- Define the middleware names for this route.pass
- Copies the listed parameters into params['pass']._host
- Define the host name pattern if you want this route to only match
specific host names. You can use .*
and to create wildcard subdomains/hosts
e.g. *.example.com
matches all subdomains on example.com
.string | $template | Template string with parameter placeholders |
array|string | $defaults | Defaults for the route. |
array | $options | Array of additional options for the Route |
setExtensions(array $extensions) : $this
Set the supported extensions for this route.
array | $extensions | The extensions to set. |
None found |
None found |
setMethods(array $methods) : $this
Set the accepted HTTP methods for this route.
array | $methods | The HTTP methods to accept. |
None found |
setPatterns(array $patterns) : $this
Set regexp patterns for routing parameters
If any of your patterns contain multibyte values, the multibytePattern
mode will be enabled.
array | $patterns | The patterns to apply to routing elements |
None found |
setHost(string $host) : $this
Set host requirement
string | $host | The host name this route is bound to |
None found |
setPass(array $names) : $this
Set the names of parameters that will be converted into passed parameters
array | $names | The names of the parameters that should be passed. |
None found |
setPersist(array $names) : $this
Set the names of parameters that will persisted automatically
Persistent parameters allow you to define which route parameters should be automatically
included when generating new URLs. You can override persistent parameters
by redefining them in a URL or remove them by setting the persistent parameter to false
.
// remove a persistent 'date' parameter
Router::url(['date' => false', ...]);
array | $names | The names of the parameters that should be passed. |
None found |
compiled() : boolean
Check if a Route has been compiled into a regular expression.
None found |
compile() : string
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 a string regular expression of the compiled route.
None found |
getName() : string
Get the standardized plugin.controller:action name for a route.
None found |
parseRequest(\Psr\Http\Message\ServerRequestInterface $request) : array|false
Checks to see if the given URL can be parsed by this route.
If the route can be parsed an array of parameters will be returned; if not false will be returned.
\Psr\Http\Message\ServerRequestInterface | $request | The URL to attempt to parse. |
An array of request parameters, or false on failure.
None found |
hostMatches(string $host) : boolean
Check to see if the host matches the route requirements
string | $host | The request's host name |
Whether or not the host matches any conditions set in for this route.
None found |
None found |
setMiddleware(array $middleware) : $this
Set the names of the middleware that should be applied to this route.
array | $middleware | The list of middleware names to apply to this route. Middleware names will not be checked until the route is matched. |
None found |
getMiddleware() : array
Get the names of the middleware that should be applied to this route.
None found |
__set_state(array $fields) : \Cake\Routing\Route\Route
Set state magic method to support var_export
This method helps for applications that want to implement router caching.
array | $fields | Key/Value of object attributes |
A new instance of the route
None found |
_underscore(array $url) : array
Helper method for underscoring keys in a URL array.
array | $url | An array of URL keys. |
None found |
_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.
None found |
_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.
string | $url | The url to parse. |
containing url, extension
None found |
_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.
string | $args | A string with the passed params. eg. /1/foo |
string | $context | The current route context, which should contain controller/action keys. |
Array of passed args.
None found |
_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.
array | $url | The array to apply persistent parameters to. |
array | $params | An array of persistent values to replace persistent ones. |
An array with persistent parameters applied.
None found |
_matchMethod(array $url) : boolean
Check whether or not the URL's HTTP method matches.
array | $url | The array for the URL being generated. |
None found |
_writeUrl(array $params, array $pass = array(), array $query = array()) : string
Converts a matching route array into a URL string.
Composes the string URL using the template used to create the route.
array | $params | The params to convert to a string url |
array | $pass | The additional passed arguments |
array | $query | An array of parameters |
Composed route string.
None found |