\Cake\Routing\RoutePluginShortRoute

Plugin short route, that copies the plugin param to the controller parameters It is used for supporting /:plugin routes.

Not normally created as a standalone. Use Router::connect() to create Routes for your application.

Summary

Methods
Properties
Constants
parse()
match()
__construct()
extensions()
setExtensions()
getExtensions()
setMethods()
setPatterns()
setHost()
setPass()
setPersist()
compiled()
compile()
getName()
parseRequest()
hostMatches()
staticPath()
setMiddleware()
getMiddleware()
__set_state()
$keys
$options
$defaults
$template
VALID_METHODS
_underscore()
_writeRoute()
_parseExtension()
_parseArgs()
_persistParams()
_matchMethod()
_writeUrl()
$_inflectedDefaults
$_greedy
$_compiledRoute
$_name
$_extensions
$middleware
$braceKeys
N/A
No private methods found
No private properties found
N/A

Constants

VALID_METHODS

VALID_METHODS = array('GET', 'PUT', 'POST', 'PATCH', 'DELETE', 'OPTIONS', 'HEAD') : array

Valid HTTP methods.

Properties

$keys

$keys : array

An array of named segments in a Route.

/:controller/:action/:id has 3 key elements

Type

array

$options

$options : array

An array of additional parameters for the Route.

Type

array

$defaults

$defaults : array

Default parameters for a Route

Type

array

$template

$template : string|null

The routes template string.

Type

string|null

$_inflectedDefaults

$_inflectedDefaults : 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.

Type

boolean

$_greedy

$_greedy : boolean

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

Type

boolean

$_compiledRoute

$_compiledRoute : string|null

The compiled route regular expression

Type

string|null

$_name

$_name : string|null

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

Type

string|null

$_extensions

$_extensions : array

List of connected extensions for this route.

Type

array

$middleware

$middleware : array

List of middleware that should be applied.

Type

array

$braceKeys

$braceKeys : boolean

Track whether or not brace keys `{var}` were used.

Type

boolean

Methods

parse()

parse(string  $url, string  $method = '') : array|false

Parses a string URL into an array. If a plugin key is found, it will be copied to the controller parameter.

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 parse

string $method

The HTTP method

Returns

array|false —

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

match()

match(array  $url, array  $context = array()) : string|false

Reverses route plugin shortcut URLs. If the plugin and controller are not the same the match is an auto fail.

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

Array of parameters to convert to a string.

array $context

An array of the current request context. Contains information such as the current host, scheme, port, and base directory.

Returns

string|false —

Either a string URL for the parameters if they match or false.

__construct()

__construct(string  $template, array|string  $defaults = array(), array  $options = array()) 

Constructor for a Route

Options

  • _ext - Defines the extensions used for this route.
  • _middleware - Define the middleware names for this route.
  • pass - Copies the listed parameters into params['pass'].
  • _host - Define the host name pattern if you want this route to only match specific host names. You can use .* and to create wildcard subdomains/hosts e.g. *.example.com matches all subdomains on example.com.

Parameters

string $template

Template string with parameter placeholders

array|string $defaults

Defaults for the route.

array $options

Array of additional options for the Route

extensions()

extensions(null|string|array  $extensions = null) : array|null

Get/Set the supported extensions for this route.

Parameters

null|string|array $extensions

The extensions to set. Use null to get.

Returns

array|null —

The extensions or null.

setExtensions()

setExtensions(array  $extensions) : $this

Set the supported extensions for this route.

Parameters

array $extensions

The extensions to set.

Returns

$this

getExtensions()

getExtensions() : array

Get the supported extensions for this route.

Returns

array

setMethods()

setMethods(array  $methods) : $this

Set the accepted HTTP methods for this route.

Parameters

array $methods

The HTTP methods to accept.

Throws

\InvalidArgumentException

Returns

$this

setPatterns()

setPatterns(array  $patterns) : $this

Set regexp patterns for routing parameters

If any of your patterns contain multibyte values, the multibytePattern mode will be enabled.

Parameters

array $patterns

The patterns to apply to routing elements

Returns

$this

setHost()

setHost(string  $host) : $this

Set host requirement

Parameters

string $host

The host name this route is bound to

Returns

$this

setPass()

setPass(array  $names) : $this

Set the names of parameters that will be converted into passed parameters

Parameters

array $names

The names of the parameters that should be passed.

Returns

$this

setPersist()

setPersist(array  $names) : $this

Set the names of parameters that will persisted automatically

Persistent parameters allow you to define which route parameters should be automatically included when generating new URLs. You can override persistent parameters by redefining them in a URL or remove them by setting the persistent parameter to false.

// remove a persistent 'date' parameter
Router::url(['date' => false', ...]);

Parameters

array $names

The names of the parameters that should be passed.

Returns

$this

compiled()

compiled() : boolean

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

Returns

boolean

compile()

compile() : string

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

string —

Returns a string regular expression of the compiled route.

getName()

getName() : string

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

Returns

string

parseRequest()

parseRequest(\Psr\Http\Message\ServerRequestInterface  $request) : array|false

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.

Parameters

\Psr\Http\Message\ServerRequestInterface $request

The URL to attempt to parse.

Returns

array|false —

An array of request parameters, or false on failure.

hostMatches()

hostMatches(string  $host) : boolean

Check to see if the host matches the route requirements

Parameters

string $host

The request's host name

Returns

boolean —

Whether or not the host matches any conditions set in for this route.

staticPath()

staticPath() : string

Get the static path portion for this route.

Returns

string

setMiddleware()

setMiddleware(array  $middleware) : $this

Set the names of the middleware that should be applied to this route.

Parameters

array $middleware

The list of middleware names to apply to this route. Middleware names will not be checked until the route is matched.

Returns

$this

getMiddleware()

getMiddleware() : array

Get the names of the middleware that should be applied to this route.

Returns

array

__set_state()

__set_state(array  $fields) : \Cake\Routing\Route\Route

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

_underscore()

_underscore(array  $url) : array

Helper method for underscoring keys in a URL array.

Parameters

array $url

An array of URL keys.

Returns

array

_writeRoute()

_writeRoute() : void

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.

_parseExtension()

_parseExtension(string  $url) : array

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

_parseArgs()

_parseArgs(string  $args, string  $context) : array

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.

_persistParams()

_persistParams(array  $url, array  $params) : array

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.

_matchMethod()

_matchMethod(array  $url) : boolean

Check whether or not the URL's HTTP method matches.

Parameters

array $url

The array for the URL being generated.

Returns

boolean

_writeUrl()

_writeUrl(array  $params, array  $pass = array(), array  $query = array()) : string

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

The additional passed arguments

array $query

An array of parameters

Returns

string —

Composed route string.