2013-08-02 42 views
5

我有一个“简单”的问题,我希望,那就是我如何print_r或至少看到一个树枝文件中所有定义的变量的内容。Laravel - print_r在树枝视图

我曾尝试:{{ variable }}(其中变量是在控制器中的视图

$viewData['variable'] = array('1','2','3'); 

设定数组

我也曾尝试:。{{ $variable }}这给出了一个错误

我我只想知道我的数组在树枝文件中有什么可用。

回答

9

您可以使用内置的{{ dump() }}函数。请参阅documentation

如果在括号中没有任何值使用它,它会转储所有可用的变量。 倾倒仅数组您会做这样的:

{{ dump(viewData) }}

的东西,如Xdebug的输出看起来相当不错,是可读的。

array (size=3) 
    0 => string '1' (length=1) 
    1 => string '2' (length=1) 
    2 => string '3' (length=1) 

虽然文档说默认情况下它不可用,但是它被添加到1.5版本中,并且应该默认使用。

当然与print_r不一样,但是启用了xdebug后,它输出的信息很好并且可读取的var_dump信息。

+0

从Twig 1.5开始,Debug扩展已被弃用,因此默认情况下dump()应为可用: http://twig.sensiolabs.org/doc/functions/dump.html – Webberig

+0

您是对的。我相应地编辑了我的答案。 – SirDerpington

+0

在Laravel 5.4的config-> twigbridge.php中将环境设置为'debug'=> config('app.debug',true)现在twigbridge debug在Laravel env上启用env – Kulai

1

我不确定要在树枝中做它,但可以使用Laravel的dd助手可以从控制器内转储和死亡。

dd($viewData['variable']); 
+0

这个答案与Twig没有关系 – Webberig

+0

这个问题标记为'laravel',我是那个把它重新标记为'twig'的人。干杯@Webberig。 –

+0

我的错误,致歉! – Webberig

2

转储功能工作,但需要环境中的debug option enabled。如果你没有设置这个能力,你也可以直接通过数组循环:

<pre> 
{% for key, item in variable %} 
    * {{ key }} - {{ item }} 
{% endfor %} 
</pre> 
0

在Laravel 5.4 config - >twigbridge.php设置environment'debug' => config('app.debug', true) 现在twigbridge调试上Laravel ENV启用