akrabat/rka-slim-zfsm-container

Integration of ZF's ServiceManager into Slim 3

2.0.0 2016-02-06 21:13 UTC

This package is auto-updated.

Last update: 2024-12-05 21:41:14 UTC


README

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