Prečo nefunguje Debugger::$showLocation pre barDump(), ale len pre Dump()?
- Filip Procházka
- Moderator | 4668
Nevidím důvod, proč něco takového dělat. Pokud chceš něco velmi specifického, nebylo by lepší, napsat si vlastní panel?
- gawan
- Člen | 110
neprítomnosť location momentálne nahradzujem týmto:
<?php
\Nette\Diagnostics\Debugger::barDump($var, __METHOD__ . ':' . __LINE__);
?>
lebo tých dumpov mám kade tade veľa a potom neviem, čo kde dumpujem ;-)
A chcel som do title Dumpu pridať
<a href="editor://open/?file=....">
linku aby mi to otvorilo
editor podobne ako Debugger. Inak to asi nemá význam, ako píšeš, ale toto
by určite bolo užitočné myslím aj pre viacerých.
Editoval gawan (26. 9. 2011 10:27)
- Jan Voráček
- Člen | 90
Čau, já to řeším tak, že v průběhu vývoje mám v bootstrapu tuhle funkci
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 .')');
}
a pokud chci něco kdekoli v kódu dumpnout, stačí napsat
barDump($foo);
– automaticky se doplní jméno třídy a
řádek. Pokud není barDump použit v třídě, ale například v bootstrapu,
použije se místo třídy název souboru.
Osobně by se mi hodila možnost změnit v Debuggeru používaný DefaultBarPanel na nějaký vlastní. Je to ale tak nepodstatný požadavek, že to ani nemá cenu řešit :)
- gawan
- Člen | 110
@Voráček: dík za tip
@HosipLan: asi celkom nerozumiem, čo je na tom sporné. Mne osobne sa title väčšinou nechce písať. location by bolo jednoduchšie (nemusím písať title a location sa doplní automaticky – najmä ak by tam bola aj tá linka na otvorenie v editore)
keď budem mať čas, tak to skúsim implementovať …
Editoval gawan (26. 9. 2011 11:47)