Nette Documentation Preview

syntax
Dump
****

Ogni debugger è un buon amico della funzione [php:var_dump], che stampa dettagliatamente il contenuto di una variabile. Sfortunatamente, in un ambiente HTML, l'output perde la formattazione e si fonde in un'unica riga, per non parlare della sanificazione del codice HTML. In pratica, è necessario sostituire `var_dump` con una funzione più pratica. Questa è `dump()`.

```php
$arr = [10, 20.2, true, null, 'hello'];

dump($arr);
// o Debugger::dump($arr);
```

genera l'output:

[* dump-basic.webp *]

È possibile cambiare il tema chiaro predefinito in uno scuro:

```php
Debugger::$dumpTheme = 'dark';
```

[* dump-dark.webp *]

Inoltre, possiamo modificare la profondità di annidamento utilizzando [Debugger::$maxDepth |api:Tracy\Debugger::$maxDepth] e la lunghezza delle etichette visualizzate utilizzando [Debugger::$maxLength |api:Tracy\Debugger::$maxLength]. Valori più bassi accelereranno naturalmente Tracy.

```php
Debugger::$maxDepth = 2; // default: 3
Debugger::$maxLength = 50; // default: 150
```

La funzione `dump()` può anche stampare altre informazioni utili. La costante `Tracy\Dumper::LOCATION_SOURCE` aggiunge un tooltip con il percorso del punto in cui la funzione è stata chiamata. `Tracy\Dumper::LOCATION_LINK` ci fornisce un link a quella posizione. `Tracy\Dumper::LOCATION_CLASS` stampa un tooltip per ogni oggetto dumpato con il percorso del file in cui è definita la sua classe. Le costanti vengono impostate nella variabile `Debugger::$showLocation` prima di chiamare `dump()`. Se vogliamo impostare più valori contemporaneamente, li combiniamo usando l'operatore `|`.

```php
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Imposta solo la stampa sulla posizione della chiamata della funzione
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Imposta contemporaneamente la stampa del link e il percorso della classe
Debugger::$showLocation = false; // Disattiva la stampa delle informazioni aggiuntive
Debugger::$showLocation = true; // Attiva la stampa di tutte le informazioni aggiuntive
```

Un'alternativa pratica a `dump()` è `dumpe()` (dump & exit) e `bdump()`. Questo ci permette di stampare il valore di una variabile nel pannello della Tracy Bar. Questo è molto utile, poiché i dump sono separati dal layout della pagina e possiamo anche aggiungere un commento ad essi.

```php
bdump([2, 4, 6, 8], 'numeri pari fino a dieci');
bdump([1, 3, 5, 7, 9], 'numeri dispari fino a dieci');
```

[* bardump-cs.webp *]

Dump

Ogni debugger è un buon amico della funzione var_dump, che stampa dettagliatamente il contenuto di una variabile. Sfortunatamente, in un ambiente HTML, l'output perde la formattazione e si fonde in un'unica riga, per non parlare della sanificazione del codice HTML. In pratica, è necessario sostituire var_dump con una funzione più pratica. Questa è dump().

$arr = [10, 20.2, true, null, 'hello'];

dump($arr);
// o Debugger::dump($arr);

genera l'output:

È possibile cambiare il tema chiaro predefinito in uno scuro:

Debugger::$dumpTheme = 'dark';

Inoltre, possiamo modificare la profondità di annidamento utilizzando Debugger::$maxDepth e la lunghezza delle etichette visualizzate utilizzando Debugger::$maxLength. Valori più bassi accelereranno naturalmente Tracy.

Debugger::$maxDepth = 2; // default: 3
Debugger::$maxLength = 50; // default: 150

La funzione dump() può anche stampare altre informazioni utili. La costante Tracy\Dumper::LOCATION_SOURCE aggiunge un tooltip con il percorso del punto in cui la funzione è stata chiamata. Tracy\Dumper::LOCATION_LINK ci fornisce un link a quella posizione. Tracy\Dumper::LOCATION_CLASS stampa un tooltip per ogni oggetto dumpato con il percorso del file in cui è definita la sua classe. Le costanti vengono impostate nella variabile Debugger::$showLocation prima di chiamare dump(). Se vogliamo impostare più valori contemporaneamente, li combiniamo usando l'operatore |.

Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Imposta solo la stampa sulla posizione della chiamata della funzione
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Imposta contemporaneamente la stampa del link e il percorso della classe
Debugger::$showLocation = false; // Disattiva la stampa delle informazioni aggiuntive
Debugger::$showLocation = true; // Attiva la stampa di tutte le informazioni aggiuntive

Un'alternativa pratica a dump() è dumpe() (dump & exit) e bdump(). Questo ci permette di stampare il valore di una variabile nel pannello della Tracy Bar. Questo è molto utile, poiché i dump sono separati dal layout della pagina e possiamo anche aggiungere un commento ad essi.

bdump([2, 4, 6, 8], 'numeri pari fino a dieci');
bdump([1, 3, 5, 7, 9], 'numeri dispari fino a dieci');