CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Team
    • Issues (Github)
    • YouTube Channel
    • Get Involved
    • Bakery
    • Featured Resources
    • Newsletter
    • Certification
    • My CakePHP
    • CakeFest
    • Facebook
    • Twitter
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.8 Red Velvet API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 3.8
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Cake
    • Auth
      • Storage
    • Cache
      • Engine
    • Collection
      • Iterator
    • Command
    • Console
      • Exception
    • Controller
      • Component
      • Exception
    • Core
      • Configure
        • Engine
      • Exception
      • Retry
    • Database
      • Driver
      • Exception
      • Expression
      • Schema
      • Statement
      • Type
    • Datasource
      • Exception
    • Error
      • Middleware
    • Event
      • Decorator
    • Filesystem
    • Form
    • Http
      • Client
        • Adapter
        • Auth
      • Cookie
      • Exception
      • Middleware
      • Session
    • I18n
      • Formatter
      • Middleware
      • Parser
    • Log
      • Engine
    • Mailer
      • Exception
      • Transport
    • Network
      • Exception
    • ORM
      • Association
      • Behavior
        • Translate
      • Exception
      • Locator
      • Rule
    • Routing
      • Exception
      • Filter
      • Middleware
      • Route
    • Shell
      • Helper
      • Task
    • TestSuite
      • Fixture
      • Stub
    • Utility
      • Exception
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget
  • None

Classes

  • DashedRoute
  • EntityRoute
  • InflectedRoute
  • PluginShortRoute
  • RedirectRoute
  • Route

Class Route

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
  • Cake\Routing\Route\DashedRoute
  • Cake\Routing\Route\EntityRoute
  • Cake\Routing\Route\InflectedRoute
  • Cake\Routing\Route\RedirectRoute
Indirect Subclasses
  • Cake\Routing\Route\PluginShortRoute
Namespace: Cake\Routing\Route
Location: Routing/Route/Route.php

Constants summary

  • array
    VALID_METHODS ¶
    ['GET','PUT','POST','PATCH','DELETE','OPTIONS','HEAD']

Properties summary

  • $_compiledRoute protected
    string|null
    The compiled route regular expression
  • $_extensions protected
    string[]
    List of connected extensions for this route.
  • $_greedy protected
    boolean

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

  • $_name protected
    string|null
    The name for a route. Fetch with Route::getName();
  • $braceKeys protected
    boolean
    Track whether or not brace keys {var} were used.
  • $defaults public
    array
    Default parameters for a Route
  • $keys public
    array

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

  • $middleware protected
    array
    List of middleware that should be applied.
  • $options public
    array
    An array of additional parameters for the Route.
  • $template public
    string|null
    The routes template string.

Method Summary

  • __construct() public
    Constructor for a Route
  • __set_state() public static
    Set state magic method to support var_export
  • _matchMethod() protected
    Check whether or not the URL's HTTP method matches.
  • _parseArgs() protected
    Parse passed parameters into a list of passed args.
  • _parseExtension() protected

    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.

  • _persistParams() protected

    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.

  • _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.
  • extensions() public deprecated
    Get/Set the supported extensions for this route.
  • getExtensions() public
    Get the supported extensions for this route.
  • getMiddleware() public
    Get the names of the middleware that should be applied to this route.
  • getName() public
    Get the standardized plugin.controller:action name for a route.
  • hostMatches() public
    Check to see if the host matches the route requirements
  • match() public
    Check if a URL array matches this route instance.
  • parse() public deprecated
    Checks to see if the given URL can be parsed by this route.
  • parseRequest() public
    Checks to see if the given URL can be parsed by this route.
  • setExtensions() public
    Set the supported extensions for this route.
  • setHost() public
    Set host requirement
  • setMethods() public
    Set the accepted HTTP methods for this route.
  • setMiddleware() public
    Set the names of the middleware that should be applied to this route.
  • setPass() public
    Set the names of parameters that will be converted into passed parameters
  • setPatterns() public
    Set regexp patterns for routing parameters
  • setPersist() public
    Set the names of parameters that will persisted automatically
  • staticPath() public
    Get the static path portion for this route.

Method Detail

__construct() public ¶

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

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

__set_state() 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() 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() 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.

_parseExtension() 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

_persistParams() 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.

_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 , 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.

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
string
Returns a string regular expression of the compiled route.

compiled() public ¶

compiled( )

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

Returns
boolean

extensions() public deprecated ¶

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

Get/Set the supported extensions for this route.

Deprecated
3.3.9 Use getExtensions/setExtensions instead.
Parameters
array|string|null $extensions optional null
The extensions to set. Use null to get.
Returns
array|null
The extensions or null.

getExtensions() public ¶

getExtensions( )

Get the supported extensions for this route.

Returns
string[]

getMiddleware() public ¶

getMiddleware( )

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

Returns
array

getName() public ¶

getName( )

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

Returns
string

hostMatches() public ¶

hostMatches( string $host )

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.

match() public ¶

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

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.
array $context optional []

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

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

parse() public deprecated ¶

parse( string $url , string $method = '' )

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.

Deprecated
3.4.0 Use/implement parseRequest() instead as it provides more flexibility/control.
Parameters
string $url
The URL to attempt to parse.
string $method optional ''
The HTTP method of the request being parsed.
Returns
array|false
An array of request parameters, or false on failure.

parseRequest() public ¶

parseRequest( Psr\Http\Message\ServerRequestInterface $request )

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.

setExtensions() public ¶

setExtensions( array $extensions )

Set the supported extensions for this route.

Parameters
array $extensions
The extensions to set.
Returns

$this

setHost() public ¶

setHost( string $host )

Set host requirement

Parameters
string $host
The host name this route is bound to
Returns

$this

setMethods() public ¶

setMethods( array $methods )

Set the accepted HTTP methods for this route.

Parameters
array $methods
The HTTP methods to accept.
Returns

$this
Throws
InvalidArgumentException

setMiddleware() public ¶

setMiddleware( array $middleware )

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

setPass() public ¶

setPass( array $names )

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

setPatterns() public ¶

setPatterns( array $patterns )

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

setPersist() public ¶

setPersist( array $names )

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

staticPath() public ¶

staticPath( )

Get the static path portion for this route.

Returns
string

Properties detail

$_compiledRoute ¶

protected string|null

The compiled route regular expression

$_extensions ¶

protected string[]

List of connected extensions for this route.

[]

$_greedy ¶

protected boolean

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

false

$_name ¶

protected string|null

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

$braceKeys ¶

protected boolean

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

false

$defaults ¶

public array

Default parameters for a Route

[]

$keys ¶

public array

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

[]

$middleware ¶

protected array

List of middleware that should be applied.

[]

$options ¶

public array

An array of additional parameters for the Route.

[]

$template ¶

public string|null

The routes template string.

Follow @CakePHP
#IRC
OpenHub
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Logos & Trademarks
  • Community
  • Team
  • Issues (Github)
  • YouTube Channel
  • Get Involved
  • Bakery
  • Featured Resources
  • Newsletter
  • Certification
  • My CakePHP
  • CakeFest
  • Facebook
  • Twitter
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs