我在Users.php模型中使用行为(DateTimeI18NBehavior),但特别是在控制器(ApiController.php)中我想禁用它。
模型 - Users.php:
public function behaviors()
{
return array(
'datetimeI18NBehavior'=>array(
'class' => 'ext.DateTimeI18NBehavior',
),
);
}
我知道我可以禁用它:
$model->disableBehavior('datetimeI18NBehavior');
但如何禁用整个Controller?
答案 0 :(得分:4)
不确定,但也许这会奏效:
class ApiController extends CController
{
function init()
{
Users::model()->disableBehavior('datetimeI18NBehavior');
}
}
或者您可以尝试在模型中添加一些逻辑:
function behaviors()
{
if (Yii::app()->controller->uniqueId != 'api') {
return parent::behaviors();
}
return array(
'datetimeI18NBehavior'=>array(
'class' => 'ext.DateTimeI18NBehavior',
),
);
}
在我看来,这两种方式并不完美。