2013-08-02 45 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啓用