Symfony 2显示缓存标题,我想知道如何隐藏这些
实施例
HTTP/1.0 200 OK Cache-Control: no-cache Content-Type: text/html Date: Fri, 18 Jan 2013 19:07:08 GMT HTTP/1.0 200 OK Cache-Control: no-cache Date: Fri, 18 Jan 2013 19:07:08 GMT X-Debug-Token: 50f99d5cba4da
我在我的代码中使用它
return new Response($this->renderView('Shout/view/default.html.twig'));
由
调用$httpKernel = $this->container->get('http_kernel');
$response = new Response;
$response->SetContent($httpKernel->forward('MyBundle:Module/'.$module.'/'.$module.':index'));
$response->headers->set('Content-Type', 'text/html');
return $response;
在枝条延伸
答案 0 :(得分:6)
添加 - > getContent()结束。
http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/Response.html
$response = $this->forward("MyBundle:Module:$module", array(
'customer_id' => $customer_id
))->getContent();
return $response;
答案 1 :(得分:2)
标题是HttpFoundation中Response class的一部分。您可以使用headers属性管理它们,这与您在代码中使用的属性相同。该属性是ResponseHaderBag class的一个实例,它具有删除功能。
您要删除的标题名为“Cache-Control”,因此如果您编写:
$response->headers->remove('Cache-Control');
它将删除该标头。但是如果你检查一下Response的来源,你会发现它的某些功能取决于这个标题,所以我不确定删除它是不是一个好主意。
默认情况下,此标头没有任何错误,只返回'no-cache',这意味着浏览器不会缓存您的页面。但是如果没有此标题,您将无法缓存页面。
如果您的目标是自己手动发送缓存控制标头,请考虑改用Symfony2's built in functionality。
答案 2 :(得分:1)
对于正在寻找答案的每个人,我继续上面的帖子并尝试使用twig的渲染功能,但使用我的自定义模块
这是我得到的,它工作正常:)。
return $this->container->get('templating.helper.actions')->render('MyBundle:Module/'.$module.'/'.$module.':index', $attributes, $options);