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
Since: 1.3.0
See: Router::connect()
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: router.php
Properties summary
-
$__headerMap
publicarray
HTTP header shortcut map. Used for evaluating header-based route expressions. -
$_compiledRoute
publicstring
The compiled route regular expresssion -
$_greedy
publicstring
Is this route a greedy route? Greedy routes have a
/*
in their template -
$defaults
publicarray
Default parameters for a Route -
$keys
publicarray
An array of named segments in a Route.
/:controller/:action/:id
has 3 key elements -
$options
publicarray
An array of additional parameters for the Route. -
$template
publicstring
The routes template string.
Method Summary
-
CakeRoute() public
Constructor for a Route -
_writeRoute() public
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() public
Converts a matching route array into a url string. Composes the string url using the template used to create the route.
-
compile() public
Compiles the route's regular expression. Modifies defaults property so all necessary keys are set and populates $this->names with the named routing elements.
-
compiled() public
Check if a Route has been compiled into a regular expression. -
match() public
Attempt to match a url array. 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.
-
parse() public
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.
-
persistParams() public
Apply persistent parameters to a url array. Persistant parameters are a special key used during route creation to force route parameters to persist when omitted from a url array.
Method Detail
CakeRoute() public ¶
CakeRoute( string $template , array $defaults = array() , string $options = array() )
Constructor for a Route
Parameters
- string $template
- Template string with parameter placeholders
- array $defaults optional array()
- Array of defaults for the route.
- string $options optional array()
- $params Array of parameters and additional options for the Route
_writeRoute() public ¶
_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() public ¶
_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 )
Attempt to match a url array. 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. Persistant 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
$__headerMap ¶
HTTP header shortcut map. Used for evaluating header-based route expressions.
array( 'type' => 'content_type', 'method' => 'request_method', 'server' => 'server_name' )
$_greedy ¶
Is this route a greedy route? Greedy routes have a /*
in their
template
false