Symfony 5 и cookie

#symfony #cookies

#symfony #файлы cookie

Вопрос:

я ищу способ обработки файлов cookie в Symfony 5… и в Интернете нет ничего действительно полезного.

Чтобы установить новостной файл cookie, я делаю :

 use SymfonyComponentHttpFoundationCookie;
//.....
$cookie = new Cookie('email', $data['email'] ,time()   (365 * 24 * 60 * 60));
$response->headers->setCookie($cookie);
$response->sendHeaders();
 

И это работает (не стесняйтесь сообщать мне, если я использую неправильный путь).

Моя проблема возникает, когда я хочу получить этот файл cookie.

На самом деле, я делаю :

 $cookie = $request->cookie->get('code_postal');
 

Но я получил следующую ошибку: «Уведомление: неопределенное свойство: Symfony Component HttpFoundation Request::$ cookie»

Можете ли вы мне в этом помочь?

Спасибо.

Комментарии:

1. Вы можете быть удивлены, обнаружив, как много документации Symfony существует на самом деле.

2. Я использовал use Symfony Component HttpFoundation Cookie; $response-> headers->setCookie(Cookie::create(‘foo’, ‘bar’)); Ошибка SF не выдается, но файл cookie не создается.. даже если я уважаю документ. Что ты думаешь?

3. Попробуйте $request->cookies->get('code_postal') вместо $request->cookie->get('code_postal')

4. Я не знаю, если это вы отклонили оба ответа, которые были опубликованы на ваш вопрос, но если это так. Вероятно, вам следует указать причину в комментариях, чтобы мы могли попытаться помочь вам в дальнейшем.

Ответ №1:

Сообщение об ошибке, которое вы получаете, очень четкое.

«Уведомление: неопределенное свойство: Symfony Component HttpFoundation Request::$cookie»

Вы пытаетесь использовать $request->cookie вместо $resquest->cookies с «s». В cookie объекте нет Request свойства.

Это должно сработать

 $response = new Response();
$response->headers->setCookie(new Cookie('email', $data['email'] ,time()   (365 * 24 * 60 * 60)));
// ...  
$cookie = $request->cookies->get('email');