我想始终在开发模式下显示工具栏,而不仅仅是在错误时。我有以下方法:
/**
* @Route("/", name="homepage")
*/
public function indexAction(Request $request) : JsonResponse
{
return new JsonResponse($param);
}
我运行以测试工具栏。这当然会产生错误,因为$param
和工具栏出现。但是当我使用return new JsonResponse('aaa');
一切正常并且工具栏没有出现时。
如何使工具栏appread即使没有错误?
配置:
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
应用内核:
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
$bundles[] = new Symfony'Bundle'TwigBundle'TwigBundle();
}
> Symfony仅在特定条件下注入工具栏,并且仅当响应是html响应时。请参阅 WebDebugToolbarListener 以了解它是如何完成的。侦听器查找 </body>
标记,并在它之前注入工具栏代码。
如果侦听器将工具栏注入 json 响应,则会使响应无效。
不过,您仍然可以访问配置文件,因为探查器链接包含在响应的X-Debug-Token-Link
标头中。您还可以在 X-Debug-Token
标头中找到探查器唯一标识符。
请注意,X-Debug-Token-Link
标头是在Symfony 2.4中引入的。以前只能访问令牌。