* @link http://www.yiiframework.com/ * @copyright 2008-2013 Yii Software LLC * @license http://www.yiiframework.com/license/ */ /** * CActiveRecordBehavior is the base class for behaviors that can be attached to {@link CActiveRecord}. * Compared with {@link CModelBehavior}, CActiveRecordBehavior attaches to more events * that are only defined by {@link CActiveRecord}. * * @property CActiveRecord $owner The owner AR that this behavior is attached to. * * @author Qiang Xue * @package system.db.ar */ class CActiveRecordBehavior extends CModelBehavior { /** * Declares events and the corresponding event handler methods. * If you override this method, make sure you merge the parent result to the return value. * @return array events (array keys) and the corresponding event handler methods (array values). * @see CBehavior::events */ public function events() { return array_merge(parent::events(), array( 'onBeforeSave'=>'beforeSave', 'onAfterSave'=>'afterSave', 'onBeforeDelete'=>'beforeDelete', 'onAfterDelete'=>'afterDelete', 'onBeforeFind'=>'beforeFind', 'onAfterFind'=>'afterFind', 'onBeforeCount'=>'beforeCount', )); } /** * Responds to {@link CActiveRecord::onBeforeSave} event. * Override this method and make it public if you want to handle the corresponding * event of the {@link CBehavior::owner owner}. * You may set {@link CModelEvent::isValid} to be false to quit the saving process. * @param CModelEvent $event event parameter */ protected function beforeSave($event) { } /** * Responds to {@link CActiveRecord::onAfterSave} event. * Override this method and make it public if you want to handle the corresponding event * of the {@link CBehavior::owner owner}. * @param CModelEvent $event event parameter */ protected function afterSave($event) { } /** * Responds to {@link CActiveRecord::onBeforeDelete} event. * Override this method and make it public if you want to handle the corresponding event * of the {@link CBehavior::owner owner}. * You may set {@link CModelEvent::isValid} to be false to quit the deletion process. * @param CEvent $event event parameter */ protected function beforeDelete($event) { } /** * Responds to {@link CActiveRecord::onAfterDelete} event. * Override this method and make it public if you want to handle the corresponding event * of the {@link CBehavior::owner owner}. * @param CEvent $event event parameter */ protected function afterDelete($event) { } /** * Responds to {@link CActiveRecord::onBeforeFind} event. * Override this method and make it public if you want to handle the corresponding event * of the {@link CBehavior::owner owner}. * @param CEvent $event event parameter */ protected function beforeFind($event) { } /** * Responds to {@link CActiveRecord::onAfterFind} event. * Override this method and make it public if you want to handle the corresponding event * of the {@link CBehavior::owner owner}. * @param CEvent $event event parameter */ protected function afterFind($event) { } /** * Responds to {@link CActiveRecord::onBeforeCount} event. * Override this method and make it public if you want to handle the corresponding event * of the {@link CBehavior::owner owner}. * @param CEvent $event event parameter * @since 1.1.14 */ protected function beforeCount($event) { } }