首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在twig模板中使用kint?

在twig模板中使用kint?
EN

Stack Overflow用户
提问于 2015-11-19 03:18:24
回答 2查看 407关注 0票数 0

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

因此,我通常使用kint来输出我不理解的对象,并了解其中的内容。

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

我可以使用{{dump()}},但是转储真的很难看,而且已经是过去式了。

我有什么选择?

EN

回答 2

Stack Overflow用户

发布于 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)。

票数 1
EN

Stack Overflow用户

发布于 2016-09-29 20:57:15

回答了一个非常古老的问题,但我认为编写一个kint扩展来实现这一点是相当容易的:从twig模板进行kinting。

services.yml

代码语言:javascript
复制
services:
  dev.kint_extension:
    class: "AppBundle\\Twig\\KintExtension"
    public: true
    tags:
      - { name: twig.extension }

KintExtension.php

代码语言:javascript
复制
<?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()。

代码语言:javascript
复制
{{ kint(any_variable) }}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33788496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档