As, вопрос уже дан ответ. Но, тем не менее, я бы хотел ответить на него в будущем.
Я пользуюсь yii2-app-basic. [ПРИМЕЧАНИЕ: Структура каталогов может отличаться для yii2-приложение опережения.]
Мой Каталог Структура:
->Root Folder
->assets
->commands
.
.
->controllers
->SiteController.php
->CommonController.php (New common controller created)
->mail
.
.
->modules
->users
->controllers
->UsersController.php
->models
->Users.php
->views
->index.php
->Users.php
.
.
.
CommonController.php [Общий контроллер (см в каталоге структура), которые будут расширены во всех контроллерах, если это необходимо.]
<?php
namespace app\controllers;
use Yii;
use yii\web\Controller;
class CommonController extends Controller
{
.
.
// I used this function for checking login access of user
public function checkLoginAccess() {
//Write your own custom code
// For example
$loginAccess = "No";
if($loginAccess == "No") {
Yii::$app->user->logout();
}
}
}
UsersController.php
<?php
namespace app\modules\users\controllers;
use Yii;
.
.
use app\controllers\CommonController;
//Extend CommonController
class UsersController extends CommonController
{
// Inside init() function, use checkLoginAccess() method to be called
public function init() {
parent::init();
if(!Yii::$app->user->isGuest) {
$this->checkLoginAccess();
}
}
.
.
.
}
Таким образом, когда это UsersController.php контроллер выйдет на счет, первый init()
метод будет вызван, и в init()
методы CommonController метод checkLoginAccess()
получит вызов автоматически. Таким образом, всякий раз, когда у члена, у которого нет логина, он автоматически будет вышел из системы.
Надеюсь, это поможет. Любая проблема/вопрос, не стесняйтесь спрашивать.
Вы должны использовать компонент для глобальных функций. Указанная ссылка содержит простой пример того, как это сделать. – Chinmay