Class RedirectException
An exception subclass used by routing and application code to trigger a redirect.
The URL and status code are provided as constructor arguments.
throw new RedirectException('http://example.com/some/path', 301);
Additional headers can also be provided in the constructor, or using the addHeaders() method.
Property Summary
-
$_attributes protected
array
Array of attributes that are passed in from the constructor, and made available in the view when a development error is displayed.
-
$_defaultCode protected
int
Default exception code
-
$_messageTemplate protected
string
Template string that has attributes sprintf()'ed into it.
-
$_responseHeaders protected
array|null
Array of headers to be passed to {@link \Cake\Http\Response::withHeader()}
-
$headers protected
array<string, mixed>
Method Summary
-
__construct() public
Constructor
-
addHeaders() public deprecated
Add headers to be included in the response generated from this exception
-
getAttributes() public
Get the passed in attributes
-
getCode() public @method
Gets the Exception code.
-
getHeaders() public
Returns array of response headers.
-
removeHeader() public deprecated
Remove a header from the exception.
-
responseHeader() public deprecated
Get/set the response header to be used
-
setHeader() public
Set a single HTTP response header.
-
setHeaders() public
Sets HTTP response headers.
Method Detail
__construct() ¶ public
__construct(string $target, int $code = 302, array $headers = [])
Constructor
Allows you to create exceptions that are treated as framework errors and disabled when debug mode is off.
Parameters
-
string
$target The URL to redirect to.
-
int
$code optional The exception code that will be used as a HTTP status code
-
array
$headers optional The headers that should be sent in the unauthorized challenge response.
addHeaders() ¶ public
addHeaders(array $headers): $this
Add headers to be included in the response generated from this exception
Parameters
-
array
$headers An array of
header => value
to append to the exception. If a header already exists, the new values will be appended to the existing ones.
Returns
$this
getHeaders() ¶ public
getHeaders(): array<string, mixed>
Returns array of response headers.
Returns
array<string, mixed>
removeHeader() ¶ public
removeHeader(string $key): $this
Remove a header from the exception.
Parameters
-
string
$key The header to remove.
Returns
$this
responseHeader() ¶ public
responseHeader(array|string|null $header = null, string|null $value = null): array|null
Get/set the response header to be used
See also {@link \Cake\Http\Response::withHeader()}
Parameters
-
array|string|null
$header optional A single header string or an associative array of "header name" => "header value"
-
string|null
$value optional The header value.
Returns
array|null
setHeader() ¶ public
setHeader(string $header, array<string>|string|null $value = null): void
Set a single HTTP response header.
Parameters
-
string
$header Header name
-
array<string>|string|null
$value optional Header value
Returns
void
setHeaders() ¶ public
setHeaders(array<string, mixed> $headers): void
Sets HTTP response headers.
Parameters
-
array<string, mixed>
$headers Array of header name and value pairs.
Returns
void
Property Detail
$_attributes ¶ protected
Array of attributes that are passed in from the constructor, and made available in the view when a development error is displayed.
Type
array
$_responseHeaders ¶ protected
Array of headers to be passed to {@link \Cake\Http\Response::withHeader()}
Type
array|null