cg /kint-bundle
此包允许您在Twig模板中使用Kint函数。Kint是print_r()的替代品,可以生成结构化、可折叠和转义输出
Requires
- php: >=5.3.2
- kint-php/kint: v0.9
- symfony/framework-bundle: >=2.0.0
- symfony/symfony: >=2.0.0
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问题追踪器中跟踪。