我希望始终以开发模式显示工具栏,而不仅仅是错误。我有以下方法:
/**
* @Route("/", name="homepage")
*/
public function indexAction(Request $request) : JsonResponse
{
return new JsonResponse($param);
}
我跑来测试工具栏。这会产生错误,因为$param
会出现工具栏。但是,当我使用return new JsonResponse('aaa');
时,一切正常,工具栏也不会出现。
如何在没有错误的情况下使工具栏显示?
配置:
framework:
templating:
engines: ['twig']
router:
resource: "%kernel.root_dir%/config/dev/routing.yml"
strict_requirements: true
profiler: { only_exceptions: false }
web_profiler:
toolbar: true
intercept_redirects: true
AppKernel:
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
$bundles[] = new Symfony\Bundle\TwigBundle\TwigBundle();
}
答案 0 :(得分:4)
Symfony仅在某些条件下注入工具栏,并且仅在响应是html响应时才注入。请参阅WebDebugToolbarListener以了解其完成情况。侦听器looks for the </body>
tag并在其前面注入工具栏代码。
如果侦听器将工具栏注入json响应,则会使响应无效。
您仍然可以访问配置文件,因为探查器链接包含在响应的X-Debug-Token-Link
标头中。您还可以在X-Debug-Token
标题中找到探查器唯一标识符。
请注意X-Debug-Token-Link
标题was introduced in Symfony 2.4。在您只能访问令牌之前。