// Expand all dump levels of all sf-dumps on a page.
$("pre.sf-dump").each(function() {
$(this).find("a.sf-dump-toggle:gt(0)").each(function(i, a){
a.click();
});
})
gt(0)
的切换)。$( "a.sf-dump-toggle" ).not( "pre.sf-dump > a.sf-dump-toggle" ).each( [...]
- 请将此内容合并到你的答案中以便选择和点赞。 - Xavi Monteropre.sf-dump .sf-dump-compact {
display: block;
}
.sf-dump-toggle {
display: none;
}
namespace App\Services;
use Symfony\Component\VarDumper\Dumper\HtmlDumper;
class MyHtmlDumper extends HtmlDumper
{
public function __construct($output = null, string $charset = null, int $flags = 0) {
parent::__construct($output, $charset, $flags);
$this->setDisplayOptions(['maxDepth' => 3]);
}
}
其次,让twig-bridge使用它。在services.yaml
中,在services:
下面添加:
var_dumper.html_dumper: '@App\Services\MyHtmlDumper'
就是这样了!
您可以选择另一个值作为maxDepth
,或更改其他选项。
var_dumper.html_dumper:############### class: 'AppBundle\Twig\CustomHtmlDumper'
。 - Roubi$(".sf-dump-expanded").removeClass("sf-dump-expanded").addClass("sf-dump-compact");
编辑:这是针对php dump()函数的。关于twig的,请参见我的其他答案。
要影响php dump()函数,您可以设置变量转储器的显示选项:
VarDumper::setHandler(function ($var) {
$cloner = new VarCloner();
$dumper = 'cli' === PHP_SAPI ? new CliDumper() : new HtmlDumper();
$dumper->setDisplayOptions(['maxDepth' => 3]);
$dumper->dump($cloner->cloneVar($var));
});
请查看https://symfony.com/doc/current/components/var_dumper/advanced.html
我不确定你在图片中展示的是什么,但假设它是一个旅游实体。那么你可以通过你的setter和getter访问并在dump
中显示。所以在上面的例子中,你展示了Tour对象并将其转储到Twig中。Tour实体可能有一个getTourId()
类型的方法。
因此,要在你的twig中显示,你可以这样做:
{{ dump(tour.getTourId) }}
当你看到多个级别时,它很可能是一个数组集合。然后你需要获取子实体并调用它的方法。比如说,一个旅游实体有一个日期集合(一个日期实体),也许日期实体有一个getDate()
函数。
那么你就可以这样调用:
{{ dump(tour.getDate[0].getDate) }}
getDate [0]
是 Tour 对象中日期数组集合的第一个元素。该元素是一个对象,因此需要调用其方法getDate
。
这就是 Twig 的操作方式。它全部基于对象,并且非常易于使用。通常不使用 dump。在生产环境中不建议使用,因为用户可能会看到著名的500
错误页面。