Class CakeErrorController
Error Handling Controller
Controller used by ErrorHandler to render error views.
- Object
- Controller
- AppController
- CakeErrorController
Copyright: Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: Cake/Controller/CakeErrorController.php
Inherited Properties
Method Summary
-
__construct() public
__construct -
beforeRender() public
Escapes the viewVars.
Method Detail
__construct() public ¶
__construct( CakeRequest
$request = null , CakeResponse
$response = null )
__construct
Parameters
-
CakeRequest
$request optional null -
CakeResponse
$response optional null
Overrides
Methods inherited from Controller
__get() public ¶
__get( string $name )
Provides backwards compatibility access to the request object properties. Also provides the params alias.
Parameters
- string $name
__isset() public ¶
__isset( string $name )
Provides backwards compatibility to avoid problems with empty and isset to alias properties. Lazy loads models using the loadModel() method if declared in $uses
Parameters
- string $name
__set() public ¶
__set( string $name , mixed $value )
Provides backwards compatibility access for setting values to the request object.
Parameters
- string $name
- mixed $value
_afterScaffoldSave() protected deprecated ¶
_afterScaffoldSave( string $method )
Alias to afterScaffoldSave()
Deprecated
Parameters
- string $method
Returns
See
_afterScaffoldSaveError() protected deprecated ¶
_afterScaffoldSaveError( string $method )
Alias to afterScaffoldSaveError()
Deprecated
Parameters
- string $method
Returns
See
_beforeScaffold() protected deprecated ¶
_beforeScaffold( string $method )
Alias to beforeScaffold()
Deprecated
Parameters
- string $method
Returns
See
_getScaffold() protected ¶
_getScaffold( CakeRequest
$request )
Returns a scaffold object to use for dynamically scaffolded controllers.
Parameters
-
CakeRequest
$request
Returns
_isPrivateAction() protected ¶
_isPrivateAction( ReflectionMethod $method , CakeRequest
$request )
Check if the request's action is marked as private, with an underscore, or if the request is attempting to directly accessing a prefixed action.
Parameters
- ReflectionMethod $method
- The method to be invoked.
-
CakeRequest
$request - The request to check.
Returns
_mergeControllerVars() protected ¶
_mergeControllerVars( )
Merge components, helpers, and uses vars from Controller::$_mergeParent and PluginAppController.
_parseBeforeRedirect() protected ¶
_parseBeforeRedirect( mixed $response , mixed $url , integer $status , boolean $exit )
Parse beforeRedirect Response
Parameters
- mixed $response
- Response from beforeRedirect callback
- mixed $url
- The same value of beforeRedirect
- integer $status
- The same value of beforeRedirect
- boolean $exit
- The same value of beforeRedirect
Returns
Array with keys url, status and exit
_scaffoldError() protected deprecated ¶
_scaffoldError( string $method )
Alias to scaffoldError()
Deprecated
Parameters
- string $method
Returns
See
afterScaffoldSave() public ¶
afterScaffoldSave( string $method )
This method should be overridden in child classes.
Parameters
- string $method
- name of method called either edit or update.
Returns
Success
Link
afterScaffoldSaveError() public ¶
afterScaffoldSaveError( string $method )
This method should be overridden in child classes.
Parameters
- string $method
- name of method called either edit or update.
Returns
Success
Link
beforeFilter() public ¶
beforeFilter( )
Called before the controller action. You can use this method to configure and customize components or perform logic that needs to happen before each controller action.
Link
beforeRedirect() public ¶
beforeRedirect( mixed $url , integer $status = null , boolean $exit = true )
The beforeRedirect method is invoked when the controller's redirect method is called but before any further action. If this method returns false the controller will not continue on to redirect the request. The $url, $status and $exit variables have same meaning as for the controller's method. You can also return a string which will be interpreted as the url to redirect to or return associative array with key 'url' and optionally 'status' and 'exit'.
Parameters
- mixed $url
A string or array-based URL pointing to another location within the app, or an absolute URL
- integer $status optional null
- Optional HTTP status code (eg: 404)
- boolean $exit optional true
- If true, exit() will be called after the redirect
Returns
Link
beforeScaffold() public ¶
beforeScaffold( string $method )
This method should be overridden in child classes.
Parameters
- string $method
- name of method called example index, edit, etc.
Returns
Success
Link
constructClasses() public ¶
constructClasses( )
Loads Model classes based on the uses property see Controller::loadModel(); for more info. Loads Components and prepares them for initialization.
Returns
true if models found and instance created.
Throws
See
Link
disableCache() public deprecated ¶
disableCache( )
Forces the user's browser not to cache the results of the current request.
Deprecated
Link
flash() public ¶
flash( string $message , mixed $url , integer $pause = 1 , string $layout = 'flash' )
Shows a message to the user for $pause seconds, then redirects to $url. Uses flash.ctp as the default layout for the message. Does not work if the current debug level is higher than 0.
Parameters
- string $message
- Message to display to the user
- mixed $url
- Relative string or array-based URL to redirect to after the time expires
- integer $pause optional 1
- Time to show the message
- string $layout optional 'flash'
- Layout you want to use, defaults to 'flash'
Returns
Renders flash layout
Link
header() public deprecated ¶
header( string $status )
Convenience and object wrapper method for CakeResponse::header().
Deprecated
Parameters
- string $status
- The header message that is being set.
httpCodes() public deprecated ¶
httpCodes( mixed $code = null )
Queries & sets valid HTTP response codes & messages.
Deprecated
Parameters
- mixed $code optional null
If $code is an integer, then the corresponding code/message is returned if it exists, null if it does not exist. If $code is an array, then the 'code' and 'message' keys of each nested array are added to the default HTTP codes. Example:
httpCodes(404); // returns array(404 => 'Not Found') httpCodes(array( 701 => 'Unicorn Moved', 800 => 'Unexpected Minotaur' )); // sets these new values, and returns true
Returns
Associative array of the HTTP codes as keys, and the message strings as values, or null of the given $code does not exist.
invokeAction() public ¶
invokeAction( CakeRequest
$request )
Dispatches the controller action. Checks that the action exists and isn't private.
Parameters
-
CakeRequest
$request
Returns
The resulting response.
Throws
MissingActionException
loadModel() public ¶
loadModel( string $modelClass = null , mixed $id = null )
Loads and instantiates models required by this controller. If the model is non existent, it will throw a missing database table error, as Cake generates dynamic models for the time being.
Parameters
- string $modelClass optional null
- Name of model class to load
- mixed $id optional null
- Initial ID the instanced model class should have
Returns
true when single model found and instance created, error returned if model not found.
Throws
paginate() public deprecated ¶
paginate( mixed $object = null , mixed $scope = array() , array $whitelist = array() )
Handles automatic pagination of model records.
Deprecated
Parameters
- mixed $object optional null
- Model to paginate (e.g: model instance, or 'Model', or 'Model.InnerModel')
- mixed $scope optional array()
- Conditions to use while paginating
- array $whitelist optional array()
- List of allowed options for paging
Returns
Model query results
Link
postConditions() public deprecated ¶
postConditions( array $data = array() , mixed $op = null , string $bool = 'AND' , boolean $exclusive = false )
Converts POST'ed form data to a model conditions array, suitable for use in a Model::find() call.
Deprecated
Parameters
- array $data optional array()
- POST'ed data organized by model and field
- mixed $op optional null
A string containing an SQL comparison operator, or an array matching operators to fields
- string $bool optional 'AND'
- SQL boolean operator: AND, OR, XOR, etc.
- boolean $exclusive optional false
If true, and $op is an array, fields not included in $op will not be included in the returned conditions
Returns
An array of model conditions
redirect() public ¶
redirect( mixed $url , integer $status = null , boolean $exit = true )
Redirects to given $url, after turning off $this->autoRender. Script execution is halted after the redirect.
Parameters
- mixed $url
A string or array-based URL pointing to another location within the app, or an absolute URL
- integer $status optional null
- Optional HTTP status code (eg: 404)
- boolean $exit optional true
- If true, exit() will be called after the redirect
Returns
void if $exit = false. Terminates script if $exit = true
Link
referer() public ¶
referer( string $default = null , boolean $local = false )
Returns the referring URL for this request.
Parameters
- string $default optional null
- Default URL to use if HTTP_REFERER cannot be read from headers
- boolean $local optional false
- If true, restrict referring URLs to local server
Returns
Referring URL
Link
render() public ¶
render( string $view = null , string $layout = null )
Instantiates the correct view class, hands it its data, and uses it to render the view output.
Parameters
- string $view optional null
- View to use for rendering
- string $layout optional null
- Layout to use
Returns
Link
scaffoldError() public ¶
scaffoldError( string $method )
This method should be overridden in child classes. If not it will render a scaffold error. Method MUST return true in child classes
Parameters
- string $method
- name of method called example index, edit, etc.
Returns
Success
Link
set() public ¶
set( mixed $one , mixed $two = null )
Saves a variable for use inside a view template.
Parameters
- mixed $one
- A string or an array of data.
- mixed $two optional null
Value in case $one is a string (which then works as the key). Unused if $one is an associative array, otherwise serves as the values to $one's keys.
Link
setAction() public ¶
setAction( string $action )
Internally redirects one action to another. Does not perform another HTTP request unlike Controller::redirect()
Examples:
{{{ setAction('another_action'); setAction('action_with_parameters', $parameter1); }}}
Parameters
- string $action
- The new action to be 'redirected' to
Returns
Returns the return value of the called action
setRequest() public ¶
setRequest( CakeRequest
$request )
Sets the request objects and configures a number of controller properties based on the contents of the request. The properties that get set are
- $this->request - To the $request parameter
- $this->plugin - To the $request->params['plugin']
- $this->view - To the $request->params['action']
- $this->autoLayout - To the false if $request->params['bare']; is set.
- $this->autoRender - To false if $request->params['return'] == 1
- $this->passedArgs - The the combined results of params['named'] and params['pass]
Parameters
-
CakeRequest
$request
shutdownProcess() public ¶
shutdownProcess( )
Perform the various shutdown processes for this controller. Fire the Components and Controller callbacks in the correct order.
- triggers the component
shutdown
callback. - calls the Controller's
afterFilter
method.
startupProcess() public ¶
startupProcess( )
Perform the startup process for this controller. Fire the Components and Controller callbacks in the correct order.
- Initializes components, which fires their
initialize
callback - Calls the controller
beforeFilter
. - triggers Component
startup
methods.
validate() public ¶
validate( )
Returns number of errors in a submitted FORM.
Returns
Number of errors
validateErrors() public ¶
validateErrors( )
Validates models passed by parameters. Example:
$errors = $this->validateErrors($this->Article, $this->User);
Returns
Validation errors, or false if none
Methods inherited from Object
_mergeVars() protected ¶
_mergeVars( array $properties , string $class , boolean $normalize = true )
Merges this objects $property with the property in $class' definition. This classes value for the property will be merged on top of $class'
This provides some of the DRY magic CakePHP provides. If you want to shut it off, redefine this method as an empty function.
Parameters
- array $properties
- The name of the properties to merge.
- string $class
- The class to merge the property with.
- boolean $normalize optional true
- Set to true to run the properties through Set::normalize() before merging.
_set() protected ¶
_set( array $properties = array() )
Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.
Parameters
- array $properties optional array()
- An associative array containing properties and corresponding values.
_stop() protected ¶
_stop( integer|string $status = 0 )
Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- integer|string $status optional 0
- see http://php.net/exit for values
dispatchMethod() public ¶
dispatchMethod( string $method , array $params = array() )
Calls a method on this object with the given parameters. Provides an OO wrapper
for call_user_func_array
Parameters
- string $method
- Name of the method to call
- array $params optional array()
- Parameter list to use when calling $method
Returns
Returns the result of the method call
log() public ¶
log( string $msg , integer $type = LOG_ERROR )
Convenience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.
Parameters
- string $msg
- Log message
- integer $type optional LOG_ERROR
- Error type constant. Defined in app/Config/core.php.
Returns
Success of log write
requestAction() public ¶
requestAction( mixed $url , array $extra = array() )
Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.
Under the hood this method uses Router::reverse() to convert the $url parameter into a string URL. You should use URL formats that are compatible with Router::reverse()
Passing POST and GET data
POST and GET data can be simulated in requestAction. Use $extra['url']
for
GET data. The $extra['data']
parameter allows POST data simulation.
Parameters
- mixed $url
String or array-based url. Unlike other url arrays in CakePHP, this url will not automatically handle passed and named arguments in the $url parameter.
- array $extra optional array()
if array includes the key "return" it sets the AutoRender to true. Can also be used to submit GET/POST data, and named/passed arguments.
Returns
Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString() public ¶
toString( )
Object-to-string conversion. Each class can override this method as necessary.
Returns
The name of this class