始终在开发模式下显示工具栏


Always show toolbar in dev mode

我想始终在开发模式下显示工具栏,而不仅仅是在错误时。我有以下方法:

/**
 * @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中引入的。以前只能访问令牌。