On this page
Class CakeRoute
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
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Routing/Route/CakeRoute.php
Properties summary
- 
    $_compiledRouteprotectedThe compiled route regular expressionstring
- 
    $_greedyprotectedstringIs this route a greedy route? Greedy routes have a /*in their template
- 
    $_headerMapprotectedHTTP header shortcut map. Used for evaluating header-based route expressions.array
- 
    $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
- 
    _matchNamed() protectedCheck if a named parameter matches the current rules.
- 
    _parseArgs() protectedParse passed and Named parameters into a list of passed args, and a hash of named parameters. The local and global configuration for named parameters will be used. 
- 
    _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.
- 
    match() publicCheck if a URL array matches this route instance.
- 
    parse() publicChecks to see if the given URL can be parsed by this route.
- 
    persistParams() publicApply 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. 
Method Detail
__construct()source public
__construct( string $template , array $defaults array() , array $options array() )Constructor for a Route
Parameters
- 
     string $template
- Template string with parameter placeholders
- 
     array $defaultsoptional array()
- Array of defaults for the route.
- 
     array $optionsoptional array()
- 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
CakeRouteA new instance of the route
_matchNamed()source protected
_matchNamed( string $val , array $rule , string $context )Check if a named parameter matches the current rules.
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 $val
- The value of the named parameter
- 
     array $rule
- The rule(s) to apply, can also be a match string
- 
     string $context
- An array with additional context information (controller / action)
Returns
boolean_parseArgs()source protected
_parseArgs( string $args , string $context )Parse passed and Named parameters into a list of passed args, and a hash of named parameters. The local and global configuration for named parameters will be used.
Parameters
- 
     string $args
- A string with the passed & named params. eg. /1/page:2
- 
     string $context
- The current route context, which should contain controller/action keys.
Returns
arrayArray of ($pass, $named)
_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 )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.
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
booleanmatch()source public
match( array $url )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.
Returns
mixedEither a string URL for the parameters if they match or false.
parse()source public
parse( string $url )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.
Returns
mixedBoolean false on failure, otherwise an array or parameters
persistParams()source public
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.
Properties detail
$_greedysource
protected string
Is this route a greedy route? Greedy routes have a /* in their template
false$_headerMapsource
protected array
HTTP header shortcut map. Used for evaluating header-based route expressions.
array(
    'type' => 'content_type',
    'method' => 'request_method',
    'server' => 'server_name'
)$keyssource
public array
An array of named segments in a Route. /:controller/:action/:id has 3 key elements
array()© 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/2.10/class-CakeRoute.html