This Laravel service provider allows Laravel applications to use service providers as defined in container-interop/service-provider
service-provider as defined in
container-interop into a Laravel application.
Add the package in composer:
composer require thecodingmachine/laravel-universal-service-provider ^1.0
\TheCodingMachine\Laravel\ContainerInteropBridgeServiceProvider in your
<?php return [ //... 'providers' => [ //... TheCodingMachine\Laravel\ContainerInteropBridgeServiceProvider::class ], //... ];
The bridge will use thecodingmachine/discovery to automatically discover the universal service providers of your project. If the service provider you are loading publishes itself on thecodingmachine/discovery, then you are done. The services declared in the service provider are available in the Laravel container!
If the service provider you are using does not publishes itself using thecodingmachine/discovery, you will have to declare it manually in the
container-interop-service-providers key of your `config/app.php' file.
Set the service provider fully qualified class name in the parameter
<?php use \GlideModule\GlideServiceProvider; return [ ... 'container-interop-service-providers' => [ GlideServiceProvider::class ] ];
Now, you can do :
You can disable discovery using the
<?php use \GlideModule\GlideServiceProvider; return [ ... 'container-interop-service-provider-enable-discovery' => false ];
##Purging the cache
The Laravel service provider in this package is a deferred provider.
Laravel compiles and stores a list of all of the services supplied by this provider. Then, only when you attempt to resolve one of these services does Laravel load the service provider.
If you add a new service to one of the universal service providers, you will need to purge the "compiled" services. You can do this with this command line:
php artisan clear-compiled