【发布时间】:2022-01-14 23:20:35
【问题描述】:
我想使用 symfony 函数 dump() 并且必须在我返回响应后立即确定没有输出。我制作了一个非常简单的控制器来证明这一点:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
class EasyController extends AbstractController
{
public function number()
{
$number = random_int(0, 100);
dump($this);
return new Response(
'<html><body>Lucky number: '.$number.'</body></html>'
);
}
}
如果我在转储() 之后包含“退出”,转储会显示在浏览器中,如果我返回响应,我只会在 Symfony Profiler 中看到转储(但并非总是如此)。但它适用于这个简单的示例。
这是为什么?
我可以从控制器内部输出“var_dump()”,从树枝模板输出dump(),但是当我返回响应时,控制器的dump() 输出会消失。
我真的很想在浏览器中看到我的转储和输出。
【问题讨论】:
-
自 symfony 4.1 以来就有
dd(),它只是dump() and die()在一个方便的功能中。 -
> 为什么会这样?因为 Fabien、Nicolas 和其他 symfony 核心开发人员都是非常聪明的人 :)