【发布时间】:2013-03-29 08:42:57
【问题描述】:
我有一个 Yii 应用,在 2 个模型中,我有 beforeValidation 方法的代码。
yii 有解决方案,还是我应该为这个通用代码创建一个组件并使用参数?
【问题讨论】:
标签: php yii content-management-system yii-cmodel
我有一个 Yii 应用,在 2 个模型中,我有 beforeValidation 方法的代码。
yii 有解决方案,还是我应该为这个通用代码创建一个组件并使用参数?
【问题讨论】:
标签: php yii content-management-system yii-cmodel
你可以创建一个你的模型都扩展的类:
class CommonClass extends CActiveRecord
{
public function beforeValidate(){
...
}
}
class A extends CommonClass{
}
class B extends CommonClass{
}
或者你可以定义一个行为并将这个行为添加到你的两个模型中!
class YourBehavior extends CActiveRecordBehavior
{
public function beforeValidate($event)
{
...
}
}
class A extends CActiveRecord{
public function behaviors(){
return array(
'YourBehavior' => array(
'class' => 'components.YourBehavior',
),
);
}
}
class B extends CActiveRecord{
public function behaviors(){
return array(
'YourBehavior' => array(
'class' => 'components.YourBehavior',
),
);
}
}
【讨论】: