Symfony 从细枝模板中使用kint?

Symfony 从细枝模板中使用kint?,symfony,twig,symfony2,Symfony,Twig,Symfony2,我不喜欢调试php代码,它很慢,需要重新启动等等 所以我通常用它来输出我不理解的对象,并了解它们上面有什么 好吧,多亏了twigs策略,我再也不能调用kint的kint::dump()函数了 我可以使用{{dump()}}但是dump真的很难看而且已经成为过去 我的选项是什么?如果您使用的是Symfony完整堆栈框架(我假设的,正如您标记它的那样),那么从Symfony 2.7开始,您可以使用{{dump()}获得非常好的输出(并且{%dump()%}将其放在工具栏中,而不是破坏页面布局) 如果

我不喜欢调试php代码,它很慢,需要重新启动等等

所以我通常用它来输出我不理解的对象,并了解它们上面有什么

好吧,多亏了twigs策略,我再也不能调用kint的
kint::dump()
函数了

我可以使用
{{dump()}}
但是dump真的很难看而且已经成为过去


我的选项是什么?

如果您使用的是Symfony完整堆栈框架(我假设的,正如您标记它的那样),那么从Symfony 2.7开始,您可以使用
{{dump()}
获得非常好的输出(并且
{%dump()%}
将其放在工具栏中,而不是破坏页面布局)

如果不使用symfony全堆栈框架,可以将
VarDumper
组件作为独立组件安装,并安装
symfony/twig桥
并注册
DumpExtension
以获得更好的转储功能


如果您仍然想使用Kind,请安装Kind库并编写一个自定义()。

回答了一个非常老的问题,但我认为编写kint扩展来实现这一点是非常容易的:从细枝模板进行扭结

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(any_variable) }}