Class ModelBehavior
Model behavior base class.
Defines the Behavior interface, and contains common model interaction functionality.
- Object
- ModelBehavior
Direct Subclasses
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: model/model_behavior.php
Properties summary
-
$mapMethods
publicarray
Allows the mapping of preg-compatible regular expressions to public or private methods in this class, where the array key is a /-delimited regular expression, and the value is a class method. Similar to the functionality of the findBy* / findAllBy* magic methods.
-
$settings
publicarray
Contains configuration settings for use with individual model objects. This is used because if multiple models use this Behavior, each will use the same object instance. Individual model settings should be stored as an associative array, keyed off of the model name.
Method Summary
-
_addToWhitelist() public
If $model's whitelist property is non-empty, $field will be added to it. Note: this method should only be used in beforeValidate or beforeSave to ensure that it only modifies the whitelist for the current save operation. Also make sure you explicitly set the value of the field which you are allowing.
-
afterDelete() public
After delete callback -
afterFind() public
After find callback. Can be used to modify any results returned by find and findAll. -
afterSave() public
After save callback -
beforeDelete() public
Before delete callback -
beforeFind() public
Before find callback -
beforeSave() public
Before save callback -
beforeValidate() public
Before validate callback -
cleanup() public
Clean up any initialization this behavior has done on a model. Called when a behavior is dynamically detached from a model using Model::detach().
-
dispatchMethod() public
Overrides Object::dispatchMethod to account for PHP4's broken reference support -
onError() public
DataSource error callback -
setup() public
Setup this behavior with the specified configuration settings.
Method Detail
_addToWhitelist() public ¶
_addToWhitelist( object $model , string $field )
If $model's whitelist property is non-empty, $field will be added to it. Note: this method should only be used in beforeValidate or beforeSave to ensure that it only modifies the whitelist for the current save operation. Also make sure you explicitly set the value of the field which you are allowing.
Parameters
- object $model
- Model using this behavior
- string $field
- Field to be added to $model's whitelist
afterDelete() public ¶
afterDelete( object $model )
After delete callback
Parameters
- object $model
- Model using this behavior
afterFind() public ¶
afterFind( object $model , mixed $results , boolean $primary )
After find callback. Can be used to modify any results returned by find and findAll.
Parameters
- object $model
- Model using this behavior
- mixed $results
- The results of the find operation
- boolean $primary
- Whether this model is being queried directly (vs. being queried as an association)
Returns
An array value will replace the value of $results - any other value will be ignored.
afterSave() public ¶
afterSave( object $model , boolean $created )
After save callback
Parameters
- object $model
- Model using this behavior
- boolean $created
- True if this save created a new record
beforeDelete() public ¶
beforeDelete( object $model , boolean $cascade = true )
Before delete callback
Parameters
- object $model
- Model using this behavior
- boolean $cascade optional true
- If true records that depend on this record will also be deleted
Returns
False if the operation should abort. Any other result will continue.
beforeFind() public ¶
beforeFind( object $model , array $query )
Before find callback
Parameters
- object $model
- Model using this behavior
- array $query
- $queryData Data used to execute this query, i.e. conditions, order, etc.
Returns
False if the operation should abort. An array will replace the value of $query.
beforeSave() public ¶
beforeSave( object $model )
Before save callback
Parameters
- object $model
- Model using this behavior
Returns
False if the operation should abort. Any other result will continue.
beforeValidate() public ¶
beforeValidate( object $model )
Before validate callback
Parameters
- object $model
- Model using this behavior
Returns
False if the operation should abort. Any other result will continue.
cleanup() public ¶
cleanup( object $model )
Clean up any initialization this behavior has done on a model. Called when a behavior is dynamically detached from a model using Model::detach().
Parameters
- object $model
- Model using this behavior
See
dispatchMethod() public ¶
dispatchMethod( string $model , array $method , $params = array() )
Overrides Object::dispatchMethod to account for PHP4's broken reference support
Parameters
- string $model
- $method Name of the method to call
- array $method
- $params Parameter list to use when calling $method
- $params optional array()
Returns
See
Overrides
Methods inherited from Object
Object() public ¶
Object( )
A hack to support __construct() on PHP 4 Hint: descendant classes have no PHP4 class_name() constructors, so this constructor gets called first and calls the top-layer __construct() which (if present) should call parent::__construct()
Returns
__openPersistent() public ¶
__openPersistent( string $name , string $type = null )
Open the persistent class file for reading Used by Object::_persist()
Parameters
- string $name
- Name of persisted class
- string $type optional null
- Type of persistance (e.g: registry)
_persist() public ¶
_persist( string $name , string $return , $object , $type = null )
Checks for a persistent class file, if found file is opened and true returned If file is not found a file is created and false returned If used in other locations of the model you should choose a unique name for the persistent file There are many uses for this method, see manual for examples
Parameters
- string $name
- name of the class to persist
- string $return
- $object the object to persist
- $object
- $type optional null
Returns
Success
_savePersistent() public ¶
_savePersistent( string $name , object $object )
You should choose a unique name for the persistent file
There are many uses for this method, see manual for examples
Parameters
- string $name
- name used for object to cache
- object $object
- the object to persist
Returns
true on save, throws error if file can not be created
_set() public ¶
_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() public ¶
_stop( $status = 0 )
Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- $status optional 0
- http://php.net/exit for values
cakeError() public ¶
cakeError( string $method , array $messages = array() )
Used to report user friendly errors. If there is a file app/error.php or app/app_error.php this file will be loaded error.php is the AppError class it should extend ErrorHandler class.
Parameters
- string $method
- Method to be called in the error class (AppError or ErrorHandler classes)
- array $messages optional array()
- Message that is to be displayed by the error class
Returns
message
log() public ¶
log( string $msg , integer $type = LOG_ERROR )
Convience 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.
Parameters
- mixed $url
- String or array-based url.
- array $extra optional array()
- if array includes the key "return" it sets the AutoRender to true.
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
Properties detail
$mapMethods ¶
Allows the mapping of preg-compatible regular expressions to public or private methods in this class, where the array key is a /-delimited regular expression, and the value is a class method. Similar to the functionality of the findBy* / findAllBy* magic methods.
array()
$settings ¶
Contains configuration settings for use with individual model objects. This is used because if multiple models use this Behavior, each will use the same object instance. Individual model settings should be stored as an associative array, keyed off of the model name.
See
array()