summaryrefslogtreecommitdiff
path: root/framework/base/CModelBehavior.php
diff options
context:
space:
mode:
Diffstat (limited to 'framework/base/CModelBehavior.php')
-rw-r--r--framework/base/CModelBehavior.php66
1 files changed, 66 insertions, 0 deletions
diff --git a/framework/base/CModelBehavior.php b/framework/base/CModelBehavior.php
new file mode 100644
index 0000000..81906bb
--- /dev/null
+++ b/framework/base/CModelBehavior.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * CModelBehavior class file.
+ *
+ * @author Qiang Xue <qiang.xue@gmail.com>
+ * @link http://www.yiiframework.com/
+ * @copyright Copyright &copy; 2008-2011 Yii Software LLC
+ * @license http://www.yiiframework.com/license/
+ */
+
+/**
+ * CModelBehavior is a base class for behaviors that are attached to a model component.
+ * The model should extend from {@link CModel} or its child classes.
+ *
+ * @property CModel $owner The owner model that this behavior is attached to.
+ *
+ * @author Qiang Xue <qiang.xue@gmail.com>
+ * @version $Id: CModelBehavior.php 3515 2011-12-28 12:29:24Z mdomba $
+ * @package system.base
+ */
+class CModelBehavior extends CBehavior
+{
+ /**
+ * Declares events and the corresponding event handler methods.
+ * The default implementation returns 'onAfterConstruct', 'onBeforeValidate' and 'onAfterValidate' events and handlers.
+ * 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(
+ 'onAfterConstruct'=>'afterConstruct',
+ 'onBeforeValidate'=>'beforeValidate',
+ 'onAfterValidate'=>'afterValidate',
+ );
+ }
+
+ /**
+ * Responds to {@link CModel::onAfterConstruct} event.
+ * Overrides this method if you want to handle the corresponding event of the {@link CBehavior::owner owner}.
+ * @param CEvent $event event parameter
+ */
+ public function afterConstruct($event)
+ {
+ }
+
+ /**
+ * Responds to {@link CModel::onBeforeValidate} event.
+ * Overrides this method if you want to handle the corresponding event of the {@link owner}.
+ * You may set {@link CModelEvent::isValid} to be false to quit the validation process.
+ * @param CModelEvent $event event parameter
+ */
+ public function beforeValidate($event)
+ {
+ }
+
+ /**
+ * Responds to {@link CModel::onAfterValidate} event.
+ * Overrides this method if you want to handle the corresponding event of the {@link owner}.
+ * @param CEvent $event event parameter
+ */
+ public function afterValidate($event)
+ {
+ }
+}