dump () non funziona in Drupal 8 (pagina vuota, il debug è abilitato)


9

Voglio usare dump()nel mio .twigmodello (all'interno del tema personalizzato).

Il problema è che quando posiziono {{ dump() }}la pagina è vuota.

Ho avuto:

  1. Situato twig.confing debug: truein services.yml.
  2. Cache cancellata.

Nel momento in cui rimuovo {{ dump() }}tutto funziona.

Dopo ore di ricerche su Google ho trovato alcune informazioni sul mistero $settings['twig_debug'] = TRUE; qui (non ho nemmeno una tale linea nel mio file, ma aggiungerlo non cambia nulla) e $twig = new Twig_Environment($loader, array(...(dove trovarlo anche?).

Lavoro su un'installazione pulita e fresca di Drupal 8, continuando a seguire (passaggio 1.) include i commenti nel codice sorgente (come dovrebbe) ma usare dump()una volta e tutto ciò che vedi è solo una pagina vuota.


Hai controllato il registro di Drupal?
— Eyal,

Probabilmente c'è un errore PHP associato alla schermata vuota. Per quanto ne so, ora vuoi andare con Kint piuttosto che con dump (). Vedi drupaleasy.com/quicktips/…
— cilefen il

1
Lo schermo vuoto significa principalmente errore di memoria, e poiché dump () stampa tutte le variabili potrebbe essere un suggerimento
— Paul Bönisch,

Risposte:


11

Sono d'accordo con il commento lasciato per la domanda: sembra che tu abbia un problema di memoria insufficiente. Controllare il registro degli errori per il server.

Ho avuto lo stesso problema con dump()e kint()in un'implementazione di template_preprocess_views_view_field(), durante il tentativo di produrre il contenuto di una riga, su un'installazione Drupal 8 pulita e fresca. Ho trovato una soluzione alternativa kint(), che sembra risolvere temporaneamente il problema di memoria. Aggiungi le seguenti impostazioni nel file config.default.php per il modulo Kint.

/** @var int max array/object levels to go deep, if zero no limits are applied */
$_kintSettings['maxLevels'] = 4;

Prendilo come suggerimento: stampa una variabile specifica, non l'intera matrice di variabili.


È anche possibile stampare solo i tasti variabili (anche se ho dimenticato come).
— Eyal,

Grazie. Memoria insufficiente era il problema. Ci sono delle maxLevelsimpostazioni per dump()(qualcosa come quello che $_kintSettingshai previsto kint())?
— PolGraphic il

1
@Eyal Immagino che stavi pensandodump(_context|keys)
— PolGraphic il

Non era quello. Ma se funziona, allora va bene lo stesso.
— Eyal,

dump()utilizza $output = Variable::export($input)per generare l'array di variabili. Sembra che non ci sia modo di impostare il livello per andare in profondità nell'array.
— Oana Hulpoi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.