cg/kint-bundle

此包允许您在Twig模板中使用Kint函数。Kint是print_r()的替代品,可以生成结构化、可折叠和转义输出

安装: 124 375

依赖项: 1

建议者: 0

安全性: 0

星标: 22

关注者: 6

分支: 11

类型:symfony-bundle

v0.2 2021-07-12 07:34 UTC

This package is not auto-updated.

Last update: 2024-09-16 22:26:56 UTC


README

此包允许您在Twig模板中使用Kint库。

此包添加了一个新的Twig kint() 函数,它是Twig dump() 函数的替代品。使用非常简单但功能强大。它的一些功能包括

  • 更优雅、可读性更高的输出 - 结构化、可折叠和转义。
  • 显示twig变量的名称。
  • 在一次调用中接受任意数量的参数,并为您分组,以便您可以看到不同迭代中导出的内容。
  • 处理递归变量。
  • 在许多情况下,变量显示的详细信息更多
    • 导出对象类的静态属性;
    • 识别特定类型的数据并以自定义方式显示(例如,JSON、XML字符串);
    • 如果资源变量是打开的文件,则显示文件名以及更多...
  • 以固定的嵌套深度导出复杂变量,以便不会使您的浏览器在处理大型对象时挂起。

安装

使用Composer(用于Symfony 2.1)

在您的composer.json文件中添加Kint Bundle

{
    "require": {
        "cg/kint-bundle": "dev-master"
    }
}

现在运行以下命令让Composer下载包

$ php composer.phar update Cg/KintBundle

Composer将在您的项目的vendor目录中安装包和Kint。

使用Deps(用于Symfony 2.0)

1- 将以下内容添加到您的Deps文件中

[Kint]
    git=http://github.com/raveren/kint.git
    target=raveren/kint

[KintBundle]
    git=http://github.com/barelon/CgKintBundle.git
    target=bundles/Cg/KintBundle

2- 运行./bin/vendors install

3- 将Cg命名空间添加到您的自动加载器

// app/autoload.php

$loader->registerNamespaces(array(
    // ...
    'Cg' => __DIR__.'/../vendor/bundles',
));

4- 在您的自动加载器中添加一个类映射,以便它可以加载Kint类。在app/autoload.php文件的开始处添加以下行

use Symfony\Component\ClassLoader\MapClassLoader;

并在该文件的末尾添加以下代码片段

// Create map autoloader
$mapLoader = new MapClassLoader(array(
    'Kint' => __DIR__.'/../vendor/raveren/kint/Kint.class.php',
));

$mapLoader->register();

更新您的AppKernel(适用于Symfony 2.1和2.0)

最后,在内核中启用该包

// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Cg\KintBundle\CgKintBundle(),
    );
}

用法

在任何Twig模板中使用

{{kint(var1,var2,...)}}

这将将这些Twig变量的值输出到屏幕上。它们将以美观的格式显示,具有可折叠的层次视图。单击任何变量名称可以打开或折叠一个级别,或单击+-符号可以打开或折叠所有级别。

如果您在kint()调用中不包括任何变量名称,如下所示

{{kint()}}

则整个Twig上下文及其所有变量将被导出。

配置

在您的app/config/config.yml文件中,您可以包含

cg_kint:
    enabled:          true
    nesting_depth:    5
    string_length:    60
  • 参数enabled定义了是否启用kint输出。将其设置为false,Kint将不会输出任何内容,您可能希望在prod环境中将其设置为false。
  • 参数nesting_depth定义了Kint将显示的对象/数组变量嵌套的最大深度。使用0表示无限深度。Kint将识别变量中的递归,并且不会使您的浏览器挂起。
  • 参数string_length定义了显示的字符串的最大长度。如果字符串超过该长度,则将其截断,并提供链接以查看完整内容。

所有这些参数都是可选的。如果您不包含它们,它们将采用上面显示的默认值。

许可证

此包受MIT许可证的约束。请参阅包中的完整许可证。

Resources/meta/LICENSE

关于

KintBundle由Carlos Granados创建。

Kint由Rokas Šleinius创建。

另请参阅贡献者列表

报告问题或功能请求

问题和功能请求在GitHub问题追踪器中跟踪。