1. Go to this page and download the library: Download enjoyscms/error-handler library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
enjoyscms / error-handler example snippets
$errorHandler = new \EnjoysCMS\ErrorHandler\ErrorHandler(
request: $request, //ss
responseFactory: $responseFactory, //http статусом 500, с помощью setErrorsMap() можно переопределить статусы ошибок.
// По-умолчанию в logger передаваться ничего не будет.
$errorHandler->setErrorsMap([
404 => [
NotFoundException::class,
NoResultException::class,
//...
],
403 => [
ForbiddenException::class
]
]);
// Установка другого шаблона для вывода ошибок в HTML
\EnjoysCMS\ErrorHandler\Output\Html::setHtmlTemplater(
// Реализация \EnjoysCMS\ErrorHandler\View\ViewInterface
// уже внутри реализации можно настроить разные шаблоны под
// разные ошибки, например для 404 и 403
new \EnjoysCMS\ErrorHandler\View\SimpleHtmlViewVerbose()
);
// Для передачи ошибки в logger, необходимо сопоставить ошибки с уровнем лога при помощи setLoggerTypeMap()
$errorHandler->setLoggerTypeMap([
// для конкретно этой ошибки, будет вызван $logger->info()
NoResultException::class => ['info'],
// для конкретно этой ошибки, будет вызван $logger->debug() и $logger->warning()
NotFoundException::class => ['debug', 'warning'],
// для всех ошибок со статусом 500 будет вызван $logger->error()
500 => ['error'],
// эта ошибка со статусом 500 вызвать $logger->error() НЕ будет, но будет вызван $logger->critical()
\InvalidArgumentException::class => ['critical'],
//...
]);
try {
// ... something code
} catch(\Throwable $error) {
$errorHandler->handle($error);
}
$errorHandler = new \EnjoysCMS\ErrorHandler\ErrorHandler();
// ... more setting error handler
$errorHandlerMiddleware = new \EnjoysCMS\ErrorHandler\ErrorHandlerMiddleware($errorHandler);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.