美文网首页
Yii2 事件使用的业务场景

Yii2 事件使用的业务场景

作者: uc小天 | 来源:发表于2017-03-07 21:08 被阅读593次

    需要了解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 事件使用的业务场景

          本文链接:https://www.haomeiwen.com/subject/knfvgttx.html