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

时间:2016-01-15 11:17:25

标签: php symfony

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

/**
 * @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();
}

1 个答案:

答案 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。在您只能访问令牌之前。