Одноразовые (флеш) данные в Laravel

Данные в сессии не всегда требуется хранить неограниченное время. Порой бывают ситуации, когда переменную в сессии стоит сохранить только до следующего запроса, а потом удалить. В этом поможет метод flash. Установить значение такой переменной можно так:
<?php 
   $request->session()->flash('key', 'value');

   Session::flash('key', 'value');
?>
Данные будут доступны только во время следующего HTTP зарпоса, а затем будут стёрты.

Для получения таких данных достаточно использовать метод get, указав нужный ключ:
<?php 
   echo $request->session()->get('key');
?>
Если требуется сохранить данные для большого количества запросов, то нужно использовать метод reflash:
<?php 
   $request->session()->reflash();
?>
Вызов этого метода запрещает удаление всех flash данных. Если же нужно удалить только часть кроме конкретных ключей, то для этого используется метод reflash. в параметрах которого указывается массив из ключей, которые надо оставить:
<?php 
   $request->session()->keep(['key1', 'key2']);

   Session::keep(['key1', 'key2']);
?>
Для удаления таких данных используется метод forget. В качестве параметра ему нужно передать название ключа, который нужно удалить. Для удаления всех данных нужно использовать метод flush:
<?php
   $request->session()->forget('key');

   $request->session()->flush();
?>
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Cмотрите другие статьи:
Была ли статья полезной?
Была ли эта статья полезна? Есть вопрос?
хостинг для сайтов
Закажите недорогой хостинг Заказать

всего от 290 руб