请教CActiveRecordBehavior的问题

我看了这里的说明http://www.yiiframework.com/doc/cookbook/14/

有个疑问,可不可以直接把以下代码写到Model里呢?

Quote

public function beforeValidate($on) {

        if ($this->Owner->isNewRecord)

            $this->Owner->{$this->created} = new CDbExp​ression('NOW()');

        else

            $this->Owner->{$this->modified} = new CDbExp​ression('NOW()');

        return true;   

    }

直接写到Model里不是也一样可以实现吗?为什么要用CActiveRecordbehavior呢?

用behavior的好处是可以通过“插入”的方式来获得新的功能。

你当然可以直接把代码写在model里。不过如果类似的代码需要在若干个model里实现,那么behavior就可以让你重用这段代码。

Quote

用behavior的好处是可以通过“插入”的方式来获得新的功能。

你当然可以直接把代码写在model里。不过如果类似的代码需要在若干个model里实现,那么behavior就可以让你重用这段代码。

解释得很详细,多谢。