Как уже отмечали другие, мы можем использовать register_shutdown_function () и error_get_last () следующим образом.
Приведенная ниже реализация будет перехватывать ошибки, которые даже не распознаются \Throwable
, как проверено в php 7.1.Это должно работать и для предыдущих версий PHP.Он должен быть реализован только в вашей среде разработки (просто добавив его в конфигурационный файл разработки) и не должен выполняться в рабочей среде.
Реализация
register_shutdown_function(function () {
$err = error_get_last();
if (! is_null($err)) {
print 'Error#'.$err['message'].'<br>';
print 'Line#'.$err['line'].'<br>';
print 'File#'.$err['file'].'<br>';
}
});
Пример ошибки
Error# Class Path/To/MyService contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Path/To/MyServiceInterface::add)
Line# 12
File# Path/To/MyService.php