Yii2: Разбираемся с сессиями

yii2 session flash

Использование сессий — это хороший способ сохранять информацию между визитами пользователя на сайт. Изначально, в php, работа с сессиями ведется через глобальный массив $_SESSION. Для удобства работы, экземпляр приложения yii2 содержит компонент yii\web\Session, доступный через Yii::$app->session.

Открытие и закрытие сессий

Простой код, иллюстрирующий работу с сессиями.

Многократный вызов методов open() и close() не приводит к ошибкам, так как, эти методы включают внутреннюю проверку на наличие открытой сессии.

Сохранение данных в сессии

Получение данных из сессии

Удаление значения из сессии

Проверка наличия данных в сессии

Получение всех данных сессии

Массивы в сессии

Flash сообщения с использованием сессий

Данный метод позволяет однократно отобразить flash сообщение и удалить данные о нем.

 

Yii2: Разбираемся с сессиями: 4 комментария

  1. Здравствуйте, а в чем преимущество применения этих методов по сравнению с работой с обычными сессиями? Там есть какая-то фильтрация или что?

      1. Принципиальное различие в том, что в Yii2 можно легко заменить хранилище сессий. Допустим, если мне больше хочется использовать Redis или базу данных, чтобы снизить чтение-запись жесткого диска. В Yii2 это сделать гораздо проще, учитывая, что для этого есть специальный интерфейс.

    1. Отличий в результате работы нет, отличие в удобвстве использования, yii2 даёт вам возможность юзать сессии и куки в ООП режиме, а не копаться в массивах, что значительно удобнее. Кроме того вы можете цепляя различные компоненты хранить куки в разных местах, будто просто таблица в БД, редис или mondoDB, код менять не придётся, просто цепляете нужный компонент и всё. Вот тут хорошо написано об этом: http://nix-tips.ru/yii2-api-guides/guide-ru-runtime-sessions-cookies.html

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *