Skip to content
1.0
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 

README.md

container-interop/service-provider bridge for Laravel

Import service-provider as defined in container-interop into a Laravel application.

Usage

Installation

Add the package in composer:

composer require thecodingmachine/laravel-universal-service-provider ^1.0

Add \TheCodingMachine\Laravel\ContainerInteropBridgeServiceProvider in your config/app.php file.

config/app.php

<?php

return [
    //...
    'providers' => [
        //...
        TheCodingMachine\Laravel\ContainerInteropBridgeServiceProvider::class
    ],
    //...
];      

Usage using thecodingmachine/discovery

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!

Usage using manual declaration

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 container-interop-service-providers:

config/app.php

<?php
use \GlideModule\GlideServiceProvider;

return [
  ...
  'container-interop-service-providers' => [
    GlideServiceProvider::class
  ]
];

Now, you can do : $app->make('glide')

Disabling discovery

You can disable discovery using the container-interop-service-provider-enable-discovery setting:

config/app.php

<?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

About

This bridge allows Laravel applications to use service providers as defined in container-interop/service-provider

Resources

Packages

No packages published

Languages