我不喜欢调试php代码,它很慢,需要重启等等。
因此,我通常使用kint来输出我不理解的对象,并了解其中的内容。
多亏了twigs策略,我不能再调用kint的Kint::dump()函数了。
我可以使用{{dump()}},但是转储真的很难看,而且已经是过去式了。
我有什么选择?
发布于 2015-11-19 03:30:27
如果你正在使用Symfony全栈框架(我假设是用symfony2标记的),你可以使用Symfony 2.7中的{{ dump() }}获得非常好的输出(使用{% dump() %}将其放到工具栏中,而不是破坏页面布局)。
如果不使用symfony全堆栈框架,可以将VarDumper组件作为独立组件安装,然后安装symfony/twig-bridge并注册DumpExtension以获得更好的转储功能。
如果您仍然想使用Kind,请安装kind库并编写一个自定义的Twig extension (docs when using Symfony full-stack)。
发布于 2016-09-29 20:57:15
回答了一个非常古老的问题,但我认为编写一个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);
}
}现在,您可以轻松地从twig中的任何位置执行kint()。
{{ kint(any_variable) }}https://stackoverflow.com/questions/33788496
复制相似问题