On this page
Class Route
A single Route used by the Router to connect requests to parameter maps.
Not normally created as a standalone. Use Router::connect() to create Routes for your application.
Direct Subclasses
Indirect Subclasses
Properties summary
- 
    
$_compiledRouteprotectedThe compiled route regular expressionstring - 
    
$_extensionsprotectedList of connected extensions for this route.array - 
    
$_greedyprotectedstringIs this route a greedy route? Greedy routes have a
/*in their template - 
    
$_nameprotectedThe name for a route. Fetch with Route::getName();string - 
    
$defaultspublicDefault parameters for a Routearray - 
    
$keyspublicarrayAn array of named segments in a Route.
/:controller/:action/:idhas 3 key elements - 
    
$optionspublicAn array of additional parameters for the Route.array - 
    
$templatepublicThe routes template string.string 
Method Summary
- 
    __construct() publicConstructor for a Route
 - Set state magic method to support var_export
 - 
    _matchMethod() protectedCheck whether or not the URL's HTTP method matches.
 - 
    _parseArgs() protectedParse 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.
 - 
    _writeRoute() protectedBuilds a route regular expression.
 - 
    _writeUrl() protectedConverts a matching route array into a URL string.
 - 
    compile() publicCompiles the route's regular expression.
 - 
    compiled() publicCheck if a Route has been compiled into a regular expression.
 - 
    extensions() publicGet/Set the supported extensions for this route.
 - 
    getExtensions() publicGet the supported extensions for this route.
 - 
    getName() publicGet the standardized plugin.controller:action name for a route.
 - 
    match() publicCheck if a URL array matches this route instance.
 - 
    parse() publicChecks to see if the given URL can be parsed by this route.
 - 
    setExtensions() publicSet the supported extensions for this route.
 - 
    staticPath() publicGet the static path portion for this route.
 
Method Detail
__construct()source 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 
$defaultsoptional [] - Defaults for the route.
 - 
     array 
$optionsoptional [] - Array of additional options for the Route
 
__set_state()source public static
__set_state( array $fields )
   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
Cake\Routing\Route\RouteA new instance of the route
_matchMethod()source protected
_matchMethod( array $url )
   Check whether or not the URL's HTTP method matches.
Parameters
- 
     array 
$url - The array for the URL being generated.
 
Returns
boolean_parseArgs()source protected
_parseArgs( string $args , string $context )
   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
arrayArray of passed args.
_parseExtension()source protected
_parseExtension( string $url )
   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
arraycontaining url, extension
_persistParams()source protected
_persistParams( array $url , array $params )
   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
arrayAn array with persistent parameters applied.
_writeRoute()source protected
_writeRoute( )
   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.
_writeUrl()source protected
_writeUrl( array $params , array $pass [] , array $query [] )
   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 
$passoptional [] - The additional passed arguments
 - 
     array 
$queryoptional [] - An array of parameters
 
Returns
stringComposed route string.
compile()source public
compile( )
   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
arrayReturns a string regular expression of the compiled route.
compiled()source public
compiled( )
   Check if a Route has been compiled into a regular expression.
Returns
booleanextensions()source public
extensions( null|string|array $extensions null )
   Get/Set the supported extensions for this route.
Deprecated
3.3.9 Use getExtensions/setExtensions instead.Parameters
- 
     null|string|array 
$extensionsoptional null - The extensions to set. Use null to get.
 
Returns
array|nullThe extensions or null.
getExtensions()source public
getExtensions( )
   Get the supported extensions for this route.
Returns
arraygetName()source public
getName( )
   Get the standardized plugin.controller:action name for a route.
Returns
stringmatch()source public
match( array $url , array $context [] )
   Check if a URL array matches this route instance.
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 - An array of parameters to check matching with.
 - 
     array 
$contextoptional [] - 
     
An array of the current request context. Contains information such as the current host, scheme, port, base directory and other url params.
 
Returns
string|falseEither a string URL for the parameters if they match or false.
parse()source public
parse( string $url , string $method '' )
   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. String URLs are parsed if they match a routes regular expression.
Parameters
- 
     string 
$url - The URL to attempt to parse.
 - 
     string 
$methodoptional '' - The HTTP method of the request being parsed.
 
Returns
array|falseAn array of request parameters, or false on failure.
setExtensions()source public
setExtensions( array $extensions )
   Set the supported extensions for this route.
Parameters
- 
     array 
$extensions - The extensions to set.
 
Returns
$this
Properties detail
$_greedysource
protected string
Is this route a greedy route? Greedy routes have a /* in their template
false
   $keyssource
public array
An array of named segments in a Route. /:controller/:action/:id has 3 key elements
[]
   © 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
 https://api.cakephp.org/3.3/class-Cake.Routing.Route.Route.html