개발정리

라라벨 DI 본문

PHP/laravel

라라벨 DI

성구님 2017. 1. 14. 18:34
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

라라벨은 ServiceProvider를 통해서 DI를 설정합니다.


<?php


class AppServiceProvider extends ServiceProvider

{

    /**

     * Bootstrap any application services.

     *

     * @return void

     */

    public function boot()

    {

        //

    }


    public function register()

    {

        $this->app->bind(

            'App\Services\UserService',   // 인터페이스

            'App\Services\UserServiceImpl'  //실 구현체

        );

    }

}


boot() 메소드안에 설정된 코드는 다른 모든 프로바이더들이 등록된 후 실행되게 됩니다.

register() 메소드는 의존관계를 등록하는 부분으로 이 메소드에 서비스 코드가 들어가게되면 의존관계가 설정되기전에 실행되어 예기치 못한 상황이 벌어질 것 입니다.

Comments