Laravel (5.7) Сессия

Сеансы используются для хранения информации о пользователе в запросах. 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

Оцените статью
nanomode.ru
Добавить комментарий