UserCheck.php 941 Bytes
<?php

    namespace common\components;

    use common\models\User;
    use common\models\UserInfo;
    use Yii;
    use yii\base\BootstrapInterface;
    use yii\db\Expression;

    class UserCheck implements BootstrapInterface
    {

        public function bootstrap($app)
        {
            \Yii::$app->on(\yii\base\Application::EVENT_BEFORE_REQUEST, function($event) {
                if(\Yii::$app->user->identity instanceof User) {
                    $userInfo = \Yii::$app->user->identity->userInfo;
                    if($userInfo instanceof UserInfo) {
                        $expression = new Expression('NOW()');
                        $userInfo->date_visit = (new \yii\db\Query)->select($expression)
                                                                   ->scalar();
                        $userInfo->save();
                    }

                }

            });
            return $app;
        }

    }