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