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.
Property Summary
- 
        $_compiledRoute protectedstringThe compiled route regular expression 
- 
        $_extensions protectedarrayList of connected extensions for this route. 
- 
        $_greedy protectedstringIs this route a greedy route? Greedy routes have a /*in their template
- 
        $_name protectedstringThe name for a route. Fetch with Route::getName(); 
- 
        $defaults publicarrayDefault parameters for a Route 
- 
        $keys publicarrayAn array of named segments in a Route. /:controller/:action/:idhas 3 key elements
- 
        $options publicarrayAn array of additional parameters for the Route. 
- 
        $redirect publicarray|stringThe location to redirect to. Either a string or a CakePHP array URL. 
- 
        $response public deprecatedCake\Network\ResponseA Response object 
- 
        $template publicstringThe routes template string. 
Method Summary
- 
          __construct() publicConstructor 
- 
          __set_state() public staticSet state magic method to support var_export 
- 
          _matchMethod() protectedCheck whether or not the URL's HTTP method matches. 
- 
          _parseArgs() protectedParse passed parameters into a list of passed args. 
- 
          _parseExtension() protectedRemoves 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() protectedApply 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() protectedBuilds a route regular expression. 
- 
          _writeUrl() protectedConverts a matching route array into a URL string. 
- 
          compile() publicCompiles the route's regular expression. 
- 
          compiled() publicCheck if a Route has been compiled into a regular expression. 
- 
          extensions() public deprecatedGet/Set the supported extensions for this route. 
- 
          getExtensions() publicGet the supported extensions for this route. 
- 
          getName() publicGet the standardized plugin.controller:action name for a route. 
- 
          match() publicThere is no reverse routing redirection routes. 
- 
          parse() publicParses a string URL into an array. Parsed URLs will result in an automatic redirection. 
- 
          setExtensions() publicSet the supported extensions for this route. 
- 
          staticPath() publicGet the static path portion for this route. 
Method Detail
__construct() ¶ public
__construct(string $template, array|string $defaults = [], array $options = [])Constructor
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() ¶ public static
__set_state(array $fields): Cake\Routing\Route\RouteSet 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\RouteA new instance of the route
_matchMethod() ¶ protected
_matchMethod(array $url): boolCheck whether or not the URL's HTTP method matches.
Parameters
- 
                array$url
- The array for the URL being generated. 
Returns
bool_parseArgs() ¶ protected
_parseArgs(string $args, string $context): arrayParse 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() ¶ protected
_parseExtension(string $url): arrayRemoves 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() ¶ protected
_persistParams(array $url, array $params): arrayApply 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() ¶ protected
_writeRoute(): voidBuilds a route regular expression.
Uses the template, defaults and options properties to compile a regular expression that can be used to parse request strings.
Returns
void_writeUrl() ¶ protected
_writeUrl(array $params, array $pass = [], array $query = []): stringConverts 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() ¶ public
compile(): arrayCompiles 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() ¶ public
compiled(): boolCheck if a Route has been compiled into a regular expression.
Returns
boolextensions() ¶ public
extensions(null|string|array $extensions = null): array|nullGet/Set the supported extensions for this route.
Parameters
- 
                null|string|array$extensions optional
- The extensions to set. Use null to get. 
Returns
array|nullThe extensions or null.
getExtensions() ¶ public
getExtensions(): arrayGet the supported extensions for this route.
Returns
arraygetName() ¶ public
getName(): stringGet the standardized plugin.controller:action name for a route.
Returns
stringmatch() ¶ public
match(array $url, array $context = []): boolThere is no reverse routing redirection routes.
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 optional
- Array of request context parameters. 
Returns
boolAlways false.
parse() ¶ public
parse(string $url, string $method = ''): false|nullParses a string URL into an array. Parsed URLs will result in an automatic redirection.
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 optional
- The HTTP method being used. 
Returns
false|nullFalse on failure. An exception is raised on a successful match.
Throws
Cake\Routing\Exception\RedirectExceptionAn exception is raised on successful match. This is used to halt route matching and signal to the middleware that a redirect should happen.
setExtensions() ¶ public
setExtensions(array $extensions): $thisSet the supported extensions for this route.
Parameters
- 
                array$extensions
- The extensions to set. 
Returns
$thisstaticPath() ¶ public
staticPath(): stringGet the static path portion for this route.
Returns
stringProperty Detail
$_greedy ¶ protected
Is this route a greedy route?  Greedy routes have a /* in their
template
Type
string$keys ¶ public
An array of named segments in a Route.
/:controller/:action/:id has 3 key elements
Type
array$redirect ¶ public
The location to redirect to. Either a string or a CakePHP array URL.
Type
array|string