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

Метод reflash

Метод reflash применяется к объекту сессии и позволяет восстановить все flash-данные, которые были помечены для удаления после следующего запроса. Flash-данные сохраняются в сессии только на один запрос, но с помощью метода reflash можно продлить их жизнь ещё на один запрос. Это удобно, когда нужно сохранить данные формы или сообщения об ошибках после перенаправления. Метод не принимает параметров и возвращает текущий объект сессии.

Синтаксис

<?php session()->reflash(); ?>

Пример

Давайте сохраним flash-данные в сессии, а затем восстановим их с помощью метода reflash:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class ArticleController extends Controller { public function store(Request $request) { // Сохраняем flash-данные session()->flash('message', 'Article created successfully'); session()->flash('status', 'success'); // Восстанавливаем все flash-данные на следующий запрос session()->reflash(); return redirect()->route('articles.index'); } } ?>

Пример

Восстановим flash-данные в шаблоне Blade после перенаправления:

@if (session()->has('message')) <div class="alert alert-{{ session('status') }}"> {{ session('message') }} </div> @endif <h1>Articles list</h1>

Пример

Покажем разницу между обычными flash-данными и восстановленными через метод reflash. В контроллере сохраним два разных сообщения:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class MessageController extends Controller { public function show(Request $request) { // Первое сообщение - обычный flash session()->flash('first_message', 'This message will be removed'); // Второе сообщение - flash с восстановлением session()->flash('second_message', 'This message will be kept'); session()->reflash(); return view('messages'); } } ?>

В шаблоне выведем оба сообщения:

<div> @if (session()->has('first_message')) <p>First message: {{ session('first_message') }}</p> @endif @if (session()->has('second_message')) <p>Second message: {{ session('second_message') }}</p> @endif </div>

После первого обновления страницы только второе сообщение будет доступно, так как оно было восстановлено методом reflash:

<p>Second message: This message will be kept</p>

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

  • метод flash,
    который сохраняет данные в сессию на один запрос
  • метод get,
    который получает значение из сессии
  • метод put,
    который сохраняет данные в сессию
  • метод has,
    который проверяет наличие данных в сессии
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить