Integration of Zend\ServiceManager into Slim 3
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example-app
src
.gitignore
LICENSE
README.md
composer.json
composer.lock

README.md

Use Zend\ServiceManager with Slim 3

This component enables you to replace the default Pimple container in Slim 3 with Zend\ServiceManager.

Usage

  • 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.

Overriding Slim's defaults

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
};