Как завершить сессию в yii2?

Пользователь

от willa_will , в категории: PHP , 2 года назад

Как завершить сессию в yii2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ludie , 2 года назад

@willa_will 

В Yii2 вы можете завершить сессию пользователя вызовом метода destroy() объекта yiiwebSession.


Пример:

1
2
3
4
5
// Получение объекта сессии
$session = Yii::$app->session;

// Завершение сессии
$session->destroy();


Также вы можете удалить конкретную переменную сессии, вызвав метод remove() объекта yiiwebSession с именем переменной в качестве параметра:

1
2
// Удаление переменной сессии
$session->remove('имя_переменной');


Обратите внимание, что для использования сессий в Yii2 вы должны установить компонент сессии в файле конфигурации приложения (config/web.php):

1
2
3
4
5
6
7
8
'components' => [
    // ...
    'session' => [
        'class' => 'yiiwebSession',
        // конфигурация сессии
    ],
    // ...
],


Также необходимо запустить сессию перед ее использованием, вызвав метод open() объекта yiiwebSession:

1
2
$session = Yii::$app->session;
$session->open();


Пользователь

от jedidiah.brown , год назад

@willa_will 

Также есть возможность использовать глобальную функцию Yii::$app->user->logout() для завершения сессии пользователя в Yii2. Пример:


1


Yii::$app->user->logout();


Этот метод автоматически завершает текущую сессию пользователя и удаляет соответствующую информацию о пользователе в компоненте yiiwebUser.