Если ваше приложение Slim Framework выдает ошибку PHP Runtime error
(только для PHP 7+), приложение вызывает обработчик ошибок PHP и возвращает
HTTP/1.1 500 Internal Server Error
ответ HTTP-клиенту.
Каждое приложение Slim Framework имеет обработчик ошибок PHP по умолчанию. Этот обработчик устанавливает
статус ответа 500
, он устанавливает тип содержимого text/html
и записывает простое объяснение телу Response.
Обработчик ошибок PHP Slim Framework - это служба Pimple. Вы можете заменить свой собственный обработчик ошибок PHP, указав собственный заводский метод Pimple с контейнером приложения.
// Create Slim
$app = new \Slim\App();
// get the app's di-container
$c = $app->getContainer();
$c['phpErrorHandler'] = function ($c) {
return function ($request, $response, $error) use ($c) {
return $c['response']
->withStatus(500)
->withHeader('Content-Type', 'text/html')
->write('Something went wrong!');
};
};
N.B Проверьте Not Found документы для метода предварительного тонкого создания, используя новый экземпляр
\Slim\Container
В этом примере мы определяем новый phpErrorHandler
завод, который возвращает вызываемый.
Возвращаемый вызов допускает три аргумента:
\Psr\Http\Message\ServerRequestInterface
экземпляр\Psr\Http\Message\ResponseInterface
экземпляр\Throwable
экземплярВызываемый ДОЛЖЕН вернуть новый \Psr\Http\Message\ResponseInterface
экземпляр, подходящий для данной ошибки.