Monday, 20 March 2017

Topic 12 - Service Container

Previously on laravel 4 , Service container was known as Inversion of Control (IoC) Container. As a Laravel developer, understanding and using the Service Container properly is a crucial part in mastering your craft, as it is the core of any Laravel application.

The term "Bind" is a common use of word that works with interfaces implementation , directories and other important things that make Laravel application run smoothly. Bind will produce a single Object that contains all of various bindings and it is very easy to retrieve them back or "resolve" them at any point of code.

Binding & Resolution

For the very basic, let say we have a certain Class DeliveryService that provides some particular service.

public class DeliveryService
    public function __construct()
         //code here

      public function doSomething()    
         //code here
How do we bind? 

Binding a service class is simple as line of code below

$this->app->bind('DeliveryService', \App\Services\DeliveryService::class);
Remember to always bind your services within the register method of your service providers.

How to use?

You can use the service binding using the example code:

$deliveryService = new \App\Services\DeliveryService();
This will call the method inside DeliveryService class .

How do we resolve?


With service container the code will look elegance and easy readable. Thus, the code will be much more cleaner.

References :

No comments:

Post a Comment