Integration of Zend\ServiceManager into Slim 3
BSD-3-CLAUSE License
This component enables you to replace the default Pimple container in Slim 3 with Zend\ServiceManager.
composer require akrabat/rka-slim-zfsm-container
update index.php
:
$settings = [
'settings' => [
// user settings go here
],
'factories' => [
// new SM factories go here
],
// you can use any other SM key here too.
];
$container = new RKA\ZsmSlimContainer\Container($settings);
$app = new \Slim\App($container);
There is also an example application.
To override the default Slim handlers (e.g. errorHandler, notFound, etc), you
can add them to the relevant section of $settings
before instantiating the
container:
$settings = [
'factories' => [
'errorHandler' => function ($container) {
// do your own thing here
},
],
];
$container = new RKA\ZsmSlimContainer\Container($settings);
$app = new \Slim\App($container);
Alternatively you can also override afterwards if you want to:
$container->setAllowOverride(true);
$container['errorHandler'] = function($container) {
// set-up error handler
};