我不喜欢调试php代码,它很慢并需要重新启动等等。
所以我通常使用kint来输出我不理解的对象,并了解它们的内容。
好吧,多亏了树枝政策,我再也不能打电话给kint的Kint::dump()
功能了。
我可以使用{{dump()}}
但转储真的很丑陋而且已成为过去。
我的选择是什么?
答案 0 :(得分:1)
如果您正在使用Symfony全栈框架(我假设,当您使用symfony2标记它时),您可以使用{{ dump() }}
从Symfony 2.7获得非常好的输出(和{% dump() %}
在工具栏中获取它而不是破坏页面布局。)
如果您不使用symfony full-stack框架,则可以将VarDumper
组件作为独立组件安装并安装symfony/twig-bridge
并注册DumpExtension
以获得更好的转储功能
如果您仍想使用Kind,请安装种类库并编写自定义Twig extension(docs when using Symfony full-stack)。
答案 1 :(得分:1)
回答一个非常古老的问题,但我认为编写一个kint扩展来实现这一点非常容易:从twig模板中进行kinting。
<强> services.yml 强>
services:
dev.kint_extension:
class: "AppBundle\\Twig\\KintExtension"
public: true
tags:
- { name: twig.extension }
<强> KintExtension.php 强>
<?php
// src/AppBundle/Twig/KintExtension.php
namespace AppBundle\Twig;
class KintExtension extends \Twig_Extension {
public function getFunctions(){
return [
new \Twig_SimpleFunction('kint', array($this, "kint")),
];
}
public function getName(){
return "kint_extension";
}
public function kint($var){
\Kint::dump($var);
}
}
现在你可以从树枝的任何地方轻松地kint()。
{{ kint(any_variable) }}