кодесурса
«Laravel

Laravel (5.7) Сессия

script1adsense2code
script1adsense3code

Сеансы используются для хранения информации о пользователе по всем запросам. Laravel предоставляет различные драйверы, такие как файл, cookie, apc, массив, Memcached, Redis и база данных для обработки данных сеанса. По умолчанию используется драйвер файла, потому что он легкий. Сессия может быть настроена в файле, хранящемся в config / session.php .

Доступ к данным сеанса

Чтобы получить доступ к данным сеанса, нам нужен экземпляр сеанса, к которому можно получить доступ через HTTP-запрос. После получения экземпляра мы можем использовать метод get () , который получит один аргумент «ключ» для получения данных сеанса.

$value = $request->session()->get('key');

Вы можете использовать метод all () для получения всех данных сеанса вместо метода get () .

Хранение данных сеанса

Данные могут храниться в сеансе с использованием метода put () . Метод put () будет принимать два аргумента: «ключ» и «значение» .

$request->session()->put('key', 'value');

Удаление данных сеанса

Метод Forgot () используется для удаления элемента из сеанса. Этот метод примет «ключ» в качестве аргумента.

$request->session()->forget('key');

Используйте метод flush () вместо метода Forgot (), чтобы удалить все данные сеанса. Используйте метод pull () для извлечения данных из сеанса и последующего удаления. Метод pull () также будет принимать ключ в качестве аргумента. Разница между методом Forgot () и методом pull () заключается в том, что метод Forgot () не возвращает значение сеанса, а метод pull () возвращает его и удаляет это значение из сеанса.

пример

Шаг 1 - Создайте контроллер с именем SessionController , выполнив следующую команду.

php artisan make:controller SessionController

Шаг 2. Скопируйте следующий код в файл в app / Http / Controllers / SessionController.php. приложение / Http / Контроллеры / SessionController.php

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class SessionController extends Controller {
   public function accessSessionData(Request $request) {
      if($request->session()->has('my_name'))
         echo $request->session()->get('my_name');
      else
         echo 'No data in the session';
   }
   public function storeSessionData(Request $request) {
      $request->session()->put('my_name','Virat Gandhi');
      echo "Data has been added to session";
   }
   public function deleteSessionData(Request $request) {
      $request->session()->forget('my_name');
      echo "Data has been removed from session.";
   }
}

Шаг 3 - Добавьте следующие строки в файл app / Http / rout.php. приложение / Http / routes.php

Route::get('session/get','[email protected]');
Route::get('session/set','[email protected]');
Route::get('session/remove','[email protected]');

Шаг 4 - Посетите следующий URL, чтобы установить данные в сеансе.

HTTP: // локальный: 8000 / сессия / комплект

Шаг 5 - Посетите следующий URL, чтобы получить данные из сеанса .

HTTP: // локальный: 8000 / сессия / получить

Шаг 6 - Посетите следующий URL, чтобы удалить данные сеанса .

HTTP: // локальный: 8000 / сессия / удалить

Предыдущая: Laravel (5.7) Генерация URL
Далее: Laravel (5.7) Валидация

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code