在symfony中设置cookie时页面空白

时间:2017-04-12 07:34:10

标签: symfony cookies symfony-2.8

我面临在symfony中设置cookie的问题,我是symfony的初学者,

我通过

在表单POST上设置cookie
 if ($cookies->has('city')) {
             $city = $cookies->get('city');
      }

它工作正常,但在表单POST上页面空白。

还有它的设置,我用

检查
<div class="mdl-layout__tab-bar-container">
    <section class="mdl-layout__tab-panel" id="fixed-tab-2">
       <div class="page-content">
          <!-- Your content goes here -->
          <div class="mdl-layout__tab-bar mdl-js-ripple-effect">
              <a href="#scroll-tab-1" class="mdl-layout__tab is-active">Alice</a>
              <a href="#scroll-tab-2" class="mdl-layout__tab">Bob</a>
              <a href="#scroll-tab-3" class="mdl-layout__tab">Amy</a>
              <a href="#scroll-tab-4" class="mdl-layout__tab">Sarah</a>
          </div>
       </div>
    </section>
</div>

似乎问题与$ response-&gt; send();当我评论它的工作但没有设置cookie时。

在symfony中设置cookie是正确的方法吗?

我发行php 7.0.17,fpm apache

请帮助解决此问题,

1 个答案:

答案 0 :(得分:0)

如果您尝试将整个对象城市放入Cookie中,则应仅发送ID。对象可以在您将其放入cookie中的时间与读取值的时间之间进行更改。

$response = new Response();
$response->headers->setCookie(new Cookie("city", $city->getId()));
$response->send();

在我的项目中,我这样使用它没有任何问题

$response = $this->render(
    'your/twig.html.twig',[
        'param'  => $param,
    ]
);
$response->headers->setCookie(
   new Cookie(
       'name',
        $value, //value
        0,     //Expire
        '/',   //path
        null,  //domain
        false, //Secure
        false  //httponly
        )
    );

return $response;