Сеансы используются для хранения информации о пользователе в запросах. Laravel предоставляет различные драйверы, такие как file, cookie, apc, array, Memcached, Redis, и database для обработки данных сеанса. По умолчанию используется файловый драйвер, поскольку он легкий. Сессию можно настроить в файле, хранящемся в config/session.php .
Доступ к данным сеанса
Чтобы получить доступ к данным сеанса, нам нужен экземпляр сеанса, к которому можно получить доступ через HTTP-запрос. После получения экземпляра мы можем использовать метод get () , который будет принимать один аргумент, «key» , для получения данных сеанса.
$ value = $ request-> session () -> get ('key');
Вы можете использовать all () для получения всех данных сеанса вместо метода get () .
Сохранение данных сеанса
Данные могут быть сохранены в сеансе с помощью метода put () . Метод put () принимает два аргумента: «ключ» и «значение» .
$ request-> session () -> put ('key', 'value');
Удаление Данные сеанса
Метод Forgot () используется для удаления элемента из сеанса. Этот метод примет в качестве аргумента «ключ» .
$ request-> session () -> Forgot ('key');
Используйте метод flush () вместо метода Forgot () для удаления всех данных сеанса. Используйте метод pull () для извлечения данных из сеанса и их последующего удаления. Метод pull () также принимает ключ в качестве аргумента. Разница между методом забудьте () и методом pull () заключается в том, что метод Forgot () не возвращает значение сеанса, а метод pull () возвращает его и удаляет это значение из сеанса.
Пример
Шаг 1 . Создайте контроллер с именем SessionController , выполнив следующие команда.
php artisan make: controller SessionController
Шаг 2. Скопируйте следующий код в файл atapp/HTTP/Контроллеры/SessionController.php.app/Http/Контроллеры/SessionController. php
phpnamespace App Http Controllers; используйте Illuminate Http Request; используйте App Http Requests; используйте App Http Controllers Controller ; класс SessionController расширяет контроллер {общедоступная функция accessSessionData (Request $ request) {if ($ request-> session () -> has ('my_name')) echo $ request-> session () -> get ('my_name'); else echo 'Нет данных в сеансе'; } общедоступная функция storeSessionData (Request $ request) {$ request-> session () -> put ('my_name', 'Virat Gandhi'); echo "Данные добавлены в сессию"; } общедоступная функция deleteSessionData (запрос $ request) {$ request-> session () -> забыть ('my_name'); echo "Данные были удалены из сеанса."; }}
Шаг 3. Добавьте следующие строки в app/Http/routes.php file.app/Http/routes.php p>
Route :: get ('session/get', '[email protected]'); Route :: get ('session/set', '[email protected]'); Route :: get ('session/remove', '[email protected]');
Шаг 4. Посетите следующий URL-адрес, чтобы установить данные в сеансе.
http://localhost: 8000/session/set
Шаг 5 . Перейдите по следующему URL-адресу, чтобы получить данные из сеанса .
http://localhost: 8000/session/get
Шаг 6 — перейдите по следующему URL-адресу, чтобы удалить данные сеанса .
http://localhost: 8000/session/remove