Nette Documentation Preview

syntax
Izpisovanje
***********

Vsak razhroščevalec je dober prijatelj s funkcijo [php:var_dump], ki podrobno izpiše vsebino spremenljivke. Na žalost v okolju HTML izpis izgubi oblikovanje in se zlije v eno vrstico, da o čiščenju kode HTML niti ne govorimo. V praksi je nujno `var_dump` nadomestiti s priročnejšo funkcijo. To je prav `dump()`.

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

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

generira izpis:

[* dump-basic.webp *]

Privzeto svetlo temo lahko spremenite v temno:

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

[* dump-dark.webp *]

Nadalje lahko spremenite globino gnezdenja z [Debugger::$maxDepth |api:Tracy\Debugger::$maxDepth] in dolžino prikazanih nizov z [Debugger::$maxLength |api:Tracy\Debugger::$maxLength]. Nižje vrednosti bodo Tracy seveda pospešile.

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

Funkcija `dump()` zna izpisati tudi druge koristne informacije. Konstanta `Tracy\Dumper::LOCATION_SOURCE` doda namig s potjo do mesta, kjer je bila funkcija klicana. `Tracy\Dumper::LOCATION_LINK` nam ponudi povezavo do tega mesta. `Tracy\Dumper::LOCATION_CLASS` pri vsakem izpisanem objektu izpiše namig s potjo do datoteke, v kateri je definiran njegov razred. Konstante se nastavijo v spremenljivko `Debugger::$showLocation` še pred klicem `dump()`. Če želimo nastaviti več vrednosti hkrati, jih združimo z operatorjem `|`.

```php
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Nastavi samo izpis o mestu klica funkcije
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Hkrati nastavi izpis povezave in pot do razreda
Debugger::$showLocation = false; // Izklopi izpis dodatnih informacij
Debugger::$showLocation = true; // Vklopi izpis vseh dodatnih informacij
```

Praktična alternativa `dump()` sta `dumpe()` (dump & exit) in `bdump()`. Ta nam omogoča izpis vrednosti spremenljivke v panelu Tracy Bar. To je zelo priročno, saj so izpisi ločeni od postavitve strani in jim lahko dodate tudi komentar.

```php
bdump([2, 4, 6, 8], 'soda števila do deset');
bdump([1, 3, 5, 7, 9], 'liha števila do deset');
```

[* bardump-cs.webp *]

Izpisovanje

Vsak razhroščevalec je dober prijatelj s funkcijo var_dump, ki podrobno izpiše vsebino spremenljivke. Na žalost v okolju HTML izpis izgubi oblikovanje in se zlije v eno vrstico, da o čiščenju kode HTML niti ne govorimo. V praksi je nujno var_dump nadomestiti s priročnejšo funkcijo. To je prav dump().

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

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

generira izpis:

Privzeto svetlo temo lahko spremenite v temno:

Debugger::$dumpTheme = 'dark';

Nadalje lahko spremenite globino gnezdenja z Debugger::$maxDepth in dolžino prikazanih nizov z Debugger::$maxLength. Nižje vrednosti bodo Tracy seveda pospešile.

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

Funkcija dump() zna izpisati tudi druge koristne informacije. Konstanta Tracy\Dumper::LOCATION_SOURCE doda namig s potjo do mesta, kjer je bila funkcija klicana. Tracy\Dumper::LOCATION_LINK nam ponudi povezavo do tega mesta. Tracy\Dumper::LOCATION_CLASS pri vsakem izpisanem objektu izpiše namig s potjo do datoteke, v kateri je definiran njegov razred. Konstante se nastavijo v spremenljivko Debugger::$showLocation še pred klicem dump(). Če želimo nastaviti več vrednosti hkrati, jih združimo z operatorjem |.

Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Nastavi samo izpis o mestu klica funkcije
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Hkrati nastavi izpis povezave in pot do razreda
Debugger::$showLocation = false; // Izklopi izpis dodatnih informacij
Debugger::$showLocation = true; // Vklopi izpis vseh dodatnih informacij

Praktična alternativa dump() sta dumpe() (dump & exit) in bdump(). Ta nam omogoča izpis vrednosti spremenljivke v panelu Tracy Bar. To je zelo priročno, saj so izpisi ločeni od postavitve strani in jim lahko dodate tudi komentar.

bdump([2, 4, 6, 8], 'soda števila do deset');
bdump([1, 3, 5, 7, 9], 'liha števila do deset');