Vypnutí laděnky v presenteru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- j0hny
- Člen | 33
Ahoj,
měl bych podobnou otázku – potřeboval bych si pro jednu metodu
v presenteru definovat vlastní error handler (abych mohl odchytit a zalogovat
errory a následně po sobě uklidit), nicméně pokud se pokusím nastavit si
vlastní handler přes
<?php set_error_handler(function(…) {…}); ?>
bohužel se o slovo stále hlásí laděnka. Jedná se o metodu spouštěnou
přes curl na pozadí a po jejím proběhnutí se volá $this->terminate(),
tudíž je mi jedno, jestli se nastaví handler pouze pro tuto metodu nebo
globálně pro celý běh daného scriptu.
- j0hny
- Člen | 33
Tak už jsem na to přišel:
nestačí pouze restore_error_handler();, je třeba zavolat i restore_exception_handler();.
Celý proces tedy vypadá takto:
<?php
restore_error_handler();
restore_exception_handler();
set_error_handler(function($errno, $errstr, $errfile, $errline) {
throw new \ErrorException($errstr, 0, $errno, $errfile, $errline);
});
?>
Editoval j0hny (31. 10. 2014 11:51)