Добавить параметр запроса в запрос - PullRequest
18 голосов
/ 20 февраля 2012

Мне нужно поставить флаг в kernel.event_listener на этапе kernel.controller, чтобы сделать что-то в kernel.response -слатере.

Я думал о добавлении параметра к объекту $request, однако не нашел ни одного метода или этого:

http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/Request.html

Что лучше всего передатьнекоторая информация от kernel.controller -листера до kernel.response -листратора?

Вариант использования:

  • Мы хотим установить файл cookie на основе проверки определенного атрибута запроса (должен быть в kernel.controller -этапе, так как основан на результатепроверка, представление может вести себя по-разному).
  • Файл cookie может быть установлен только в kernel.response -listener, так как он имеет Response -экземпляр.

1 Ответ

36 голосов
/ 20 февраля 2012

Вы можете использовать $request->attributes для передачи информации.В вашем слушателе контроллера:

$request->attributes->set('mykey', 'myvalue');

В слушателе вашего ответа:

$myvalue = $request->attributes->get('mykey');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...