Illuminate (Laravel) Container integration in Slim

1.1.0 2021-03-25 20:51 UTC

This package is auto-updated.

Last update: 2021-06-27 13:12:46 UTC


Packagist Version

This package configures Slim to work with the Illuminate container. By default, container supports autowiring.


composer require p7v/illuminate-container-slim-bridge

Minimal setup

Instead of using the official Slim\Factory\AppFactory, use Bridge class to create your application:

require 'vendor/autoload.php';

$app = \P7v\IlluminateContainerSlim\Bridge::create();

Setup with preconfigured container

If you need to configure the container beforehand, pass your configured container to the method:

require 'vendor/autoload.php';

$container = new \Illuminate\Container\Container();

/** Configure your container */

$app = \P7v\IlluminateContainerSlim\Bridge::create($container);

Configure container using service providers

You can use service providers for container configuration. Your service provider has to extend P7v\IlluminateContainerSlim\ServiceProvider. Then provide list of names of your service providers to usingProviders method in Bridge.

class AppServiceProvider extends \P7v\IlluminateContainerSlim\ServiceProvider
    public function register(): void
        $this->bind('key', function () {
            return new stdClass();
        $this->singleton(RepositoryInterface::class, Repository::class);
require 'vendor/autoload.php';

$providers = [

$app = \P7v\IlluminateContainerSlim\Bridge::usingProviders($providers);