Class RedirectRoute
Redirect route will perform an immediate redirect. Redirect routes are useful when you want to have Routing layer redirects occur in your application, for when URLs move.
Redirection is signalled by an exception that halts route matching and defines the redirect URL and status code.
- Cake\Routing\Route\Route
-
Cake\Routing\Route\RedirectRoute
Inherited Constants
Properties summary
Inherited Properties
Method Summary
-
__construct() public
Constructor -
match() public
There is no reverse routing redirection routes. -
parse() public
Parses a string URL into an array. Parsed URLs will result in an automatic redirection.
-
setStatus() public
Sets the HTTP status
Method Detail
__construct() public ¶
__construct( string $template , array|string $defaults = [] , array $options = [] )
Constructor
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
Overrides
match() public ¶
match( array $url , array $context = [] )
There is no reverse routing redirection routes.
Parameters
- array $url
- Array of parameters to convert to a string.
- array $context optional []
- Array of request context parameters.
Returns
Always false.
Overrides
parse() public ¶
parse( string $url , string $method = '' )
Parses a string URL into an array. Parsed URLs will result in an automatic redirection.
Parameters
- string $url
- The URL to parse.
- string $method optional ''
- The HTTP method being used.
Returns
False on failure. An exception is raised on a successful match.
Throws
Cake\Routing\Exception\RedirectException
An exception is raised on successful match. This is used to halt route matching and signal to the middleware that a redirect should happen.
Overrides
setStatus() public ¶
setStatus( integer $status )
Sets the HTTP status
Parameters
- integer $status
- The status code for this route
Returns
$this
Methods inherited from Cake\Routing\Route\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
_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
_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 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
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
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
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
extensions() public deprecated ¶
extensions( array|string|null $extensions = null )
Get/Set the supported extensions for this route.
Deprecated
Parameters
- array|string|null $extensions optional null
- The extensions to set. Use null to get.
Returns
The extensions or null.
getExtensions() public ¶
getExtensions( )
Get the supported extensions for this route.
Returns
getMiddleware() public ¶
getMiddleware( )
Get the names of the middleware that should be applied to this route.
Returns
getName() public ¶
getName( )
Get the standardized plugin.controller:action name for a route.
Returns
hostMatches() public ¶
hostMatches( string $host )
Check to see if the host matches the route requirements
Parameters
- string $host
- The request's host name
Returns
Whether or not the host matches any conditions set in for this route.
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
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
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