[2009-05-29] Novinky v Debug

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Grudl
Nette Core | 8218
+
0
-

Ve třídě Debug se objevilo pár novinek.

  • lepší zobrazování „červené smrti“ a profileru – pokud se vygenerují v nějaké skryté (např. display:none) části HTML dokumentu, JavaScript se je pokusí vytáhnout na světlo
  • na školení mě inspiroval Pavel rozšířením pro Debug::dump(), které kromě proměnné vypíše i jméno souboru a řádek, na kterém byl dump() volán. Defaultně je to vypnuté, zapíná se přes Debug::$dumpLocation = TRUE. (tipy na lepší pojmenování proměnné?)
  • pokud generujete obrázek, PDF nebo odesíláte přes PHP soubor, profiler se vypne automaticky.
  • přidal jsem Debug::$onFatalError, pomocí kterého lze nastavit vlastní přídavné handlery pro fatální chyby nebo nezachycené výjimky:
function myErrorHandler()
{
        // zobrazi nejakou stranku
        require dirname(__FILE__) . '/error.php'; // cesta ke skriptu MUSI BYT ABSOLUTNI!
}

Debug::enable();

Debug::$onFatalError[] = 'myErrorHandler';

Zdůrazňuji tu nutnost psát cestu absolutně, protože v okamžiku vzniku chyby si nemůžete být jisti aktuálním adresářem.

kravčo
Člen | 721
+
0
-

David Grudl napsal(a):

Debug::$dumpLocation … tipy na lepší pojmenování proměnné?

Mne prepínač „dump location“ evokuje nastavenie, či sa má vypísať nejaké miesto, na prvý pohľad mi vôbec nebol zrejmý súvis s Debug::dump(). Presnejšie (i keď dlhšie) mi pripadajú varianty:

Debug::$showDumpLocation
Debug::$displayDumpLocation
# ešte mi napadlo, tak nadhodím...
Debug::$showDumpOrigin
# alebo už trochu mimo misu -- možno to niekoho inšpiruje
Debug::$showDumpTrace
# ešte bonus ;)
Debug::$dumpDumpLocation
David Grudl
Nette Core | 8218
+
0
-

Změním to na Debug::$showLocation