Slim Error handling
Error handling abstraction for slim framework.
Forget about configurations, simplify your container definitions, and customize your response formats., (*1)
Install
composer require nicolas-cajelli/slim-errorhandler
Just load the configurations before start declaring your DI, (*2)
<?php
use function Slim\ErrorHandling\getConfiguration;
$config = getConfiguration();
$config[YourClass::class] = yourDefinitions();
Add your own response handlers:, (*3)
$config['responseHandlers'] = function(ContainerInterface $c) {
return [$c->get(YourResponseHandler::class), $c->get(OtherResponseHandler::class)];
};
You can override: responseHandlers, serverErrorResponseImpl, notAllowedHandlerImpl & notFoundHandlerImpl, (*4)
Define 404 exceptions
$containerDefinition['notFoundHandlerImpl'] = function (ContainerInterface $c) {
$handler = $c->get(NotFoundJsonResponseHandler::class);
$handler->addNotFoundImplementation(OwnNotFoundException::class);
return $handler;
};