先明確兩點(diǎn)
- 如果User Model是繼承自 ActiveRecord
- 而afterLogin 和 beforeLogin 是 yii\web\User 的兩個(gè)事件
那么把 yii\web\User 的兩個(gè)事件掛載在 User Model 肯定不會(huì)觸發(fā)了使鹅。
可以通過配置來解決始腾,配置是支持事件掛載的卷玉;
例如:
'components' =>[
...
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
'on beforeLogin' => function($event) {
$user = $event->identity; //這里的就是User Model的實(shí)例
$user->last_login_at = time();
$user->save();
...
},
'on afterLogin' => function($event) {
//the same
}
],
...
]