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
- Cake\Routing\Route\DashedRoute
Properties summary
-
$_inflectedDefaults
protectedFlag for tracking whether or not the defaults have been inflected.boolean
Inherited Properties
Method Summary
- _camelizePlugin() protectedCamelizes the previously dashed plugin route taking into account plugin vendors
- _dasherize() protectedHelper method for dasherizing keys in a URL array.
- match() public
Dasherizes the controller, action and plugin params before passing them on to the parent class.
- parse() public
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.
Method Detail
_camelizePlugin()source protected
_camelizePlugin( string $plugin )
Camelizes the previously dashed plugin route taking into account plugin vendors
Parameters
- string
$plugin
- Plugin name
Returns
string_dasherize()source protected
_dasherize( array $url )
Helper method for dasherizing keys in a URL array.
Parameters
- array
$url
- An array of URL keys.
Returns
arraymatch()source 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|stringEither false or a string URL.
Overrides
Cake\Routing\Route\Route::match()
parse()source public
parse( string $url , string $method '' )
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
- string
$method
optional '' - The HTTP method.
Returns
array|falseAn array of request parameters, or false on failure.
Overrides
Cake\Routing\Route\Route::parse()
Methods inherited from Cake\Routing\Route\Route
__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
$defaults
optional [] - Defaults for the route.
- array
$options
optional [] - 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\Route
A 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
$pass
optional [] - The additional passed arguments
- array
$query
optional [] - 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
$extensions
optional 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
stringsetExtensions()source public
setExtensions( array $extensions )
Set the supported extensions for this route.
Parameters
- array
$extensions
- The extensions to set.
Returns
$this
Properties detail
$_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
© 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.DashedRoute.html