2013-08-02 20 views
5

Ho una domanda "semplice", mi auguro, ed è così che posso stampare o visualizzare almeno il contenuto di tutte le variabili definite in un file di ramoscello.Laravel - print_r in twig view

ho provato: {{ variable }} (dove variabile è un array impostato per la visualizzazione

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

nel controllore

Ho anche provato:.. {{ $variable }} Questo dà un errore

I vorrei solo sapere che cosa è disponibile dal mio array nel file di ramoscello

risposta

9

È possibile utilizzare la funzione integrata {{ dump() }}. Vedi lo documentation.

Se lo si utilizza senza alcun valore tra parentesi, verrà eseguito il dump di tutte le variabili disponibili. per lo scarico solo l'array si dovrebbe fare in questo modo:

{{ dump(viewData) }}

con qualcosa come Xdebug l'uscita sembra piuttosto bella ed è leggibile.

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

Anche se la documentazione dice che non è disponibile per impostazione predefinita, è stato aggiunto in twig 1.5 e dovrebbe essere pronto per l'uso di default.

Ovviamente non lo stesso di print_r ma con xdebug abilitato fornisce informazioni piacevoli e leggibili var_dump.

+0

A partire da Twig 1.5, l'estensione Debug è stata deprecata, quindi dump() dovrebbe essere disponibile per impostazione predefinita: http://twig.sensiolabs.org/doc/functions/dump.html – Webberig

+0

Hai ragione. Ho modificato la mia risposta di conseguenza. – SirDerpington

+0

In Laravel 5.4 in config-> twigbridge.php imposta l'ambiente su 'debug' => config ('app.debug', vero) Ora il debug di twigbridge è abilitato su env Laravel – Kulai

1

Non sono sicuro di farlo in Twig ma è possibile utilizzare L'helper di Laravel dd da scaricare e morire dal controller.

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

questa risposta non ha nulla a che fare con Twig – Webberig

+0

La domanda è taggata 'laravel' e io sono stato colui che lo ha re-taggato come' twig'. Saluti @Webberig. –

+0

Errore mio, scusa! – Webberig

2

La funzione dump funziona ma richiede il debug option enabled nell'ambiente. Se non si ha la possibilità di impostare questo si può anche semplicemente scorrere l'array:

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

In laravel 5.4 in config ->twigbridge.php impostato environment-'debug' => config('app.debug', true) Ora twigbridge debug vengono attivati ​​sul laravel ENV