Yii2 事件使用的业务场景

需要了解Yii事件基础
http://www.yiifans.com/yii2/guide/concept-events.html

Yii 使用事件来注入定制代码到既有代码中的特定执行点。比如,当用户评论一篇文章时,可以触发一个评论对象添加(“add”)事件。

又比如,邮件程序对象成功发出消息时可触发 messageSent 事件。如想追踪成功发送的消息,可以附加相应追踪代码到 messageSent 事件。

用户登录成功后触发afterLogin事件。可以在该事件处绑定yii AfterLoginBehavior行为,更新用户信息。如:

public function afterLogin($event)
    {
        $model = $event->identity->userInfo;

        $model->login_count += 1;
        $model->prev_login_time = $model->last_login_time;
        $model->prev_login_ip = $model->last_login_ip;
        $model->last_login_time = time();
        $model->last_login_ip = Yii::$app->getRequest()->getUserIP();

        if (!Yii::$app->session->isActive) {
            Yii::$app->session->open();
        }
        $model->session_id = Yii::$app->session->id;
        Yii::$app->session->close();

        if ($model->save()) {
            return true;
        } else {
            return false;
        }
    }

你可能感兴趣的:(Yii2 事件使用的业务场景)