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. (http://cakefoundation.org)
License: MIT License
Location: Cake/Routing/Route/CakeRoute.php
Properties summary
- 
			
$_compiledRouteprotectedstringThe compiled route regular expression - 
			
$_greedyprotectedstringIs this route a greedy route? Greedy routes have a
/*in their template - 
			
$_headerMapprotectedarrayHTTP header shortcut map. Used for evaluating header-based route expressions. - 
			
$defaultspublicarrayDefault parameters for a Route - 
			
$keyspublicarrayAn array of named segments in a Route.
/:controller/:action/:idhas 3 key elements - 
			
$optionspublicarrayAn array of additional parameters for the Route. - 
			
$templatepublicstringThe routes template string. 
Method Summary
- 
			
__construct() public
Constructor for a Route - 
			
_matchNamed() protected
Check if a named parameter matches the current rules. - 
			
_parseArgs() protected
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.
 - 
			
_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. - 
			
match() public
Check if a URL array matches this route instance. - 
			
parse() public
Checks to see if the given URL can be parsed by this route. - 
			
persistParams() public
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.
 
Method Detail
__construct() public ¶
__construct( string $template , array $defaults = array() , array $options = array() )
Constructor for a Route
Parameters
- string $template
 - Template string with parameter placeholders
 - array $defaults optional array()
 - Array of defaults for the route.
 - array $options optional array()
 - Array of additional options for the Route
 
_matchNamed() 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
_parseArgs() 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
Array of ($pass, $named)
_writeRoute() 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() 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
Composed route string.
compile() 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
Returns a string regular expression of the compiled route.
compiled() public ¶
compiled( )
Check if a Route has been compiled into a regular expression.
Returns
match() 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
Either a string URL for the parameters if they match or false.
parse() 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
Boolean false on failure, otherwise an array or parameters
persistParams() 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
An array with persistent parameters applied.
Properties detail
$_greedy ¶
Is this route a greedy route?  Greedy routes have a /* in their
template
false
			$_headerMap ¶
HTTP header shortcut map. Used for evaluating header-based route expressions.
array( 'type' => 'content_type', 'method' => 'request_method', 'server' => 'server_name' )