我希望始终在开发模式下显示工具栏,而不仅仅是在出现错误时显示。我有以下方法:
/**
* @Route("/", name="homepage")
*/
public function indexAction(Request $request) : JsonResponse
{
return new JsonResponse($param);
}
Run Code Online (Sandbox Code Playgroud)
我运行它来测试工具栏。这当然会产生错误,因为$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
Run Code Online (Sandbox Code Playgroud)
应用程序内核:
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
$bundles[] = new Symfony\Bundle\TwigBundle\TwigBundle();
}
Run Code Online (Sandbox Code Playgroud)
Symfony 仅在某些条件下且仅当响应是 html 响应时才注入工具栏。请参阅WebDebugToolbarListener以了解其工作原理。侦听器查找</body>标记并在其之前注入工具栏代码。
如果侦听器将工具栏注入到 json 响应中,则会导致响应无效。
不过,您仍然可以访问配置文件,因为分析器链接包含在X-Debug-Token-Link响应的标头中。您还可以在标头中找到探查器唯一标识符X-Debug-Token。
请注意,X-Debug-Token-Link标头是在 Symfony 2.4 中引入的。之前您只能访问令牌。
| 归档时间: |
|
| 查看次数: |
391 次 |
| 最近记录: |