Class DashedRoute

This route class will transparently inflect the controller, action and plugin routing parameters, so that requesting /my-plugin/my-controller/my-action is parsed as ['plugin' => 'MyPlugin', 'controller' => 'MyController', 'action' => 'myAction']

Cake\Routing\Route\Route
Extended by Cake\Routing\Route\DashedRoute

Method Detail

_camelizePluginsource protected

_camelizePlugin( string $plugin )

Camelizes the previously dashed plugin route taking into account plugin vendors

Parameters

string $plugin
Plugin name

Returns

string
string

_dasherizesource protected

_dasherize( array $url )

Helper method for dasherizing keys in a URL array.

Parameters

array $url
An array of URL keys.

Returns

array
array

matchsource public

match( array $url , array $context [] )

Dasherizes the controller, action and plugin params before passing them on to the parent class.

Parameters

array $url
Array of parameters to convert to a string.
array $context optional []
An array of the current request context. Contains information such as the current host, scheme, port, and base directory.

Returns

boolean|string
Either false or a string URL.

Overrides

Cake\Routing\Route\Route::match()

parsesource public

parse( string $url )

Parses a string URL into an array. If it matches, it will convert the controller and plugin keys to their CamelCased form and action key to camelBacked form.

Parameters

string $url
The URL to parse

Returns

array|false
An array of request parameters, or false on failure.

Overrides

Cake\Routing\Route\Route::parse()

Methods inherited from Cake\Routing\Route\Route

__constructsource 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 $defaults optional []
Defaults for the route.
array $options optional []
Array of additional options for the Route

__set_statesource 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\Route
A new instance of the route

_matchMethodsource 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
bool

_parseArgssource 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

array
Array of passed args.

_parseExtensionsource 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

array
containing url, extension

_persistParamssource 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

array
An array with persistent parameters applied.

_writeRoutesource 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.

_writeUrlsource 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 $pass optional []
The additional passed arguments
array $query optional []
An array of parameters

Returns

string
Composed route string.

compilesource 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

array
Returns a string regular expression of the compiled route.

compiledsource public

compiled( )

Check if a Route has been compiled into a regular expression.

Returns

boolean
bool

extensionssource public

extensions( null|string|array $extensions null )

Get/Set the supported extensions for this route.

Parameters

null|string|array $extensions optional null
The extensions to set. Use null to get.

Returns

array|null
The extensions or null.

getNamesource public

getName( )

Get the standardized plugin.controller:action name for a route.

Returns

string
string

staticPathsource public

staticPath( )

Get the static path portion for this route.

Returns

string
string

Properties summary

$_inflectedDefaultssource

protected boolean

Flag for tracking whether or not the defaults have been inflected.

Default values need to be inflected so that they match the inflections that match() will create.

false

Properties inherited from Cake\Routing\Route\Route

$_compiledRoutesource

protected string

The compiled route regular expression

null

$_extensionssource

protected array

List of connected extensions for this route.

[]

$_greedysource

protected string

Is this route a greedy route? Greedy routes have a /* in their template

false

$_namesource

protected string

The name for a route. Fetch with Route::getName();

null

$defaultssource

public array

Default parameters for a Route

[]

$keyssource

public array

An array of named segments in a Route. /:controller/:action/:id has 3 key elements

[]

$optionssource

public array

An array of additional parameters for the Route.

[]

$templatesource

public string

The routes template string.

null

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Routing.Route.DashedRoute.html