struzik-vladislav / php-error-handler
Handling PHP errors (Notice, Warning, etc.)
Installs: 11 289
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=5.6
Requires (Dev)
- monolog/monolog: ~1.0
- phpunit/phpunit: ~5.0
Suggests
- psr/log: Allow sending errors in PSR-3 logger
This package is auto-updated.
Last update: 2025-04-26 19:03:41 UTC
README
Handling PHP errors in various processors.
Types of errors that can be handled according to set_error_handler:
- E_STRICT
- E_RECOVERABLE_ERROR
- E_NOTICE
- E_WARNING
- E_DEPRECATED
- E_USER_ERROR
- E_USER_NOTICE
- E_USER_WARNING
- E_USER_DEPRECATED
Processors
ReturnFalseProcessor
The processor for enabling native PHP handler after custom.
LoggerProcessor
The processor for writing to the PSR-3 compatible logger like Monolog.
IntoExceptionProcessor
The processor for converting errors to exceptions. The basic type of throwing exception is Struzik\ErrorHandler\Exception\ErrorException
.
Usage
<?php use Struzik\ErrorHandler\ErrorHandler; use Struzik\ErrorHandler\Processor\LoggerProcessor; use Struzik\ErrorHandler\Processor\IntoExceptionProcessor; use Struzik\ErrorHandler\Exception\ErrorException; use Monolog\Logger; use Monolog\Handler\StreamHandler; $logger = new Logger('ErrorHandler DEMO'); $logger->pushHandler(new StreamHandler('php://output', Logger::DEBUG)); $errorHandler = new ErrorHandler(); $errorHandler->pushProcessor(new IntoExceptionProcessor()) ->pushProcessor(new LoggerProcessor($logger)); try { $errorHandler->set(); trigger_error('Dummy error', E_USER_NOTICE); $errorHandler->restore(); } catch (ErrorException $e) { echo $e; } /* [2017-05-13 21:42:46] ErrorHandler DEMO.NOTICE: Dummy error in /srv/php-error-handler/example.php:21 {"backtrace":"#0 /srv/php-error-handler/src/ErrorHandler.php(39): Struzik\\ErrorHandler\\Processor\\LoggerProcessor->handle(1024, 'Dummy error', '/srv/php-error-...', 21)\n#1 [internal function]: Struzik\\ErrorHandler\\ErrorHandler->handle(1024, 'Dummy error', '/srv/php-error-...', 21, Array)\n#2 /srv/php-error-handler/example.php(21): trigger_error('Dummy error', 1024)\n#3 {main}"} [] Struzik\ErrorHandler\Exception\UserNoticeException: Dummy error in /srv/php-error-handler/example.php:21 Stack trace: #0 /srv/php-error-handler/src/ErrorHandler.php(39): Struzik\ErrorHandler\Processor\IntoExceptionProcessor->handle(1024, 'Dummy error', '/srv/php-error-...', 21) #1 [internal function]: Struzik\ErrorHandler\ErrorHandler->handle(1024, 'Dummy error', '/srv/php-error-...', 21, Array) #2 /srv/php-error-handler/example.php(21): trigger_error('Dummy error', 1024) */