projek-xyz/slim-framework

View on GitHub
src/Handlers/ErrorHandler.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
namespace Projek\Slim\Handlers;
 
use Projek\Slim\View;
use Psr\Log\LogLevel;
use Slim\Handlers\Error;
use Exception;
 
class ErrorHandler extends Error
{
/**
* @inheritdoc
*/
protected function renderHtmlErrorMessage(Exception $exception)
{
if ($this->displayErrorDetails) {
$html = [
'<p>The application could not run because of the following error:</p>',
'<h2>Details</h2>',
$this->renderHtmlException($exception)
];
 
while ($exception = $exception->getPrevious()) {
$html[] = '<h2>Previous exception</h2>';
$html[] = $this->renderHtmlException($exception);
}
} else {
$html = ['<p>A website error has occurred. Sorry for the temporary inconvenience.</p>'];
}
 
return app(View::class)->render('error::500', [
'title' => 'Application Error',
'html' => implode(PHP_EOL, $html)
]);
}
 
/**
* @inheritdoc
*/
protected function logError($message)
{
logger(LogLevel::ERROR, $message);
}
}