0

サービスの 1 つである、kernel.response のイベント リスナーに奇妙な問題がありました。

いくつかの Cookie を設定したかったのですが ( Symfony1 との互換性のために、セッションの代わりに Cookie が必要です)、方法が見つかりませんでした..

最終的に、私が書いたコードは、その中の何かをデバッグしない限り機能することを理解しました(Cookie のようなvar_dumpもの)。

public function onKernelResponse(FilterResponseEvent $event)
{
    if (HttpKernel::MASTER_REQUEST == $event->getRequestType()):

    $request = $event->getRequest();
    $response = $event->getResponse();
    var_dump($request->cookies->all());
    $response->headers->setCookie(new Cookie('foo', 'bar'));

    endif;
}

それはうまくいきませんでした.私のクッキーは$request->cookies->all().

しかし、var_dump行をコメントし、更新してコメントを外すと、Cookie が設定されています。

正常ですか?なんで ?そのようなイベントでの印刷はヘッダーを壊しますか?!

4

2 に答える 2

3

サービスを注入してlogger使用する

$this->logger->debug(print_r($request->cookies->all(), true));
于 2013-07-25T09:15:44.227 に答える