vypsani promenne primo z presenteru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Šaman
- Člen | 2666
Dump se občas špatně hledá a je k ničemu při ajaxových refreshech,
doporučuju spíš barDump($foo)
. Problém je, že na to není
zkratka, takže se musí volat
Nette\Diagnostics\Debugger::barDump()
, nebo si alias vytvořit
(stačí v bootstrapu, lepší je to v samostatném souboru a do bootsrapu
includnout).
Třeba takto:
<?php
# Definujeme si zkratku pro rychlé dumpování do DebugBaru
function barDump($var, $title='')
{
$backtrace = debug_backtrace();
$source = (isset($backtrace[1]['class'])) ?
$backtrace[1]['class'] :
basename($backtrace[0]['file']);
$line = $backtrace[0]['line'];
if($title !== '')
$title .= ' – ';
return Nette\Diagnostics\Debugger::barDump($var, $title . $source . ' (' . $line .')');
}
?>
pak se ti to vypisuje v debug baru i s jménem souboru a řádkem, kde se to zavolalo. Navíc to pak můžeš v kódu nechat, na produkci se ti to neukáže a v ladícím módu vidíš všechny dumpy. (To můžeš i u dump(), ale při ladění ti ten výpis na obrazovku může rozhotit design.)
Použití:
<?php
barDump(10);
bardump(20, "nějaký popis");
?>
Editoval Šaman (10. 4. 2014 22:14)