РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
467 of 1392 menu

Метод flash

Метод flash класса Request применяется для сохранения данных в сессии на один следующий запрос. После того как данные были получены в следующем запросе, они автоматически удаляются из сессии. Это удобно для передачи сообщений пользователю после выполнения операции, например, после перенаправления.

Синтаксис

<?php $request->flash(); ?>

Метод flash не принимает параметров и возвращает экземпляр текущего запроса для построения цепочек вызовов.

Пример

Сохраним данные из запроса в сессии с помощью метода flash:

<?php use IlluminateHttpRequest; Route::post('/user/update', function (Request $request) { $request->flash(); return redirect('/user/profile'); }); ?>

Пример

Используем метод flash вместе с методом only для сохранения только определённых полей:

<?php use IlluminateHttpRequest; Route::post('/user/update', function (Request $request) { $request->only(['name', 'email'])->flash(); return redirect('/user/profile'); }); ?>

Результат выполнения кода в следующем запросе:

[ "name" => "John Doe", "email" => "john@example.com" ]

Пример

Сохраним данные и сразу получим их в следующем запросе с помощью метода old:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class UserController extends Controller { public function update(Request $request) { $request->flash(); return redirect('/user/edit'); } public function edit(Request $request) { $name = $request->old('name', 'Default Name'); $email = $request->old('email', 'default@example.com'); echo "Name: " . $name . ", Email: " . $email; } } ?>

Результат выполнения кода после перенаправления:

"Name: John Doe, Email: john@example.com"

Пример

Используем метод flash для сохранения данных с последующим их извлечением в шаблоне Blade:

<?php use IlluminateHttpRequest; use IlluminateSupportFacadesRoute; Route::get('/user/profile', function () { return view('profile'); }); Route::post('/user/update', function (Request $request) { $request->flash(); return redirect('/user/profile'); }); ?>
@if (session()->has('_old_input')) <div> <p>Name: {{ old('name') }}</p> <p>Email: {{ old('email') }}</p> </div> @endif <form method="POST" action="/user/update"> @csrf <input type="text" name="name" value="{{ old('name') }}"> <input type="email" name="email" value="{{ old('email') }}"> <button type="submit">Update</button> </form>

Смотрите также

  • метод old,
    который получает ранее сохранённые данные из сессии
  • метод only,
    который возвращает только указанные поля из запроса
  • метод input,
    который получает данные из запроса
  • метод flash,
    который сохраняет данные в сессии на один запрос
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить