Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не создаются cookie | Laravel, PHP

Lyonya Yakovlev Профи (504), на голосовании 3 года назад
Не получается создать cookie в Laravel
В одном из экшенов пишу следующее:
Cookie::queue('test', 'test', 5000);
dump(Cookie::get('test'));

Результат нулевой, если создавать стандартным методом - используя php (setcookie) - всё ок, в массиве $_COOKIE они будут, но мне нужно создать используя возможности Laravel
Сухой текст не любит никто, на скриншоте код
Голосование за лучший ответ
Ярослав Искусственный Интеллект (107883) 3 года назад
Предположительно, потому что фреймворк ожидает от тебя возврата ответа на запрос (чтобы при возврате к ответу куку прикрутить), но ты не возвращаешь - потому и не происходит ничего с этой "запланированной" кукой.
https://laravel.com/docs/8.x/responses#creating-responses
Lyonya YakovlevПрофи (504) 3 года назад
Да, благодарю.

Однако, в доке есть следующая информация:
If you would like to ensure that a cookie is sent with the outgoing response but you do not yet have an instance of that response, you can use the Cookie facade to "queue" cookies for attachment to the response when it is sent. The queue method accepts the arguments needed to create a cookie instance. These cookies will be attached to the outgoing response before it is sent to the browser:

use Illuminate\Support\Facades\Cookie;

Cookie::queue('name', 'value', $minutes);

Жаль они не упомянули, что использование такого метода вместе с dump() или dd() - не даст результата, т. к. эти функции сами возвращают заголовок (хотя, по сути должен быть додуматься сам (но я не особо разбирал что там в функции dump() такого)). В любом случае-thx
Ярослав Искусственный Интеллект (107883) Lyonya Yakovlev, это не упомянули потому, что оно само собой разумеется - используя фреймворк, подчиняешься его правилам (забывая о самодеятельности): на то он и фреймворк, что определяет и диктует поведение юзеркода...
Самый День Оракул (99750) 3 года назад
перейди на другую страницу и там уже ищи cookie

они видятся после второго клика
Похожие вопросы