Laděnka samostatně – nastavení chybové stránky
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- frosty22
- Člen | 373
Na chybovou stránku v nette nepřesměrovává laděnka nýbrž, Nette/Application, které zachytí vyjímku a přesměruje tam, čili v podstatě si musíš toto zařídit sám nějak, asi takto:
<?php
// přepíní produkčního/vývojového
$production = true;
// Nastavení laděnky
Debugger::enabled($production ? Debugger::PRODUCTION, Debugger::DEVELOPMENT);
// Nastavení callbacků při fatal error, nezachycené vyjímce,
if ($production) {
register_shutdown_function(function(){ echo "Ups, spadlo nám to fatalem"; });
set_exception_handler(function(){ echo "Nezachycená vyjímka"; });
}
?>
- Filip Procházka
- Moderator | 4668
exception_handler
si registruje Debugger
, čili
velice špatný nápad ;)
V Application
je úplně celý běh presenteru, rout atd
obalen do
try {
// úplně všechno
} catch (Exception $e) { }
a pak se v catch
rozhoduje podle
$application->catchExceptions
jestli výjimku podusí a zobrazí
ErrorPresenter
, nebo ji znovu vyhodí a postará se o ni
Debugger
, který buď zobrazí laděnku, nebo je potichounku, když
je na produkci.