Service Container 사용 안내 Dependency Injection _ Laravel

Service Container 소스 코드의 종속성과 구조를 효율적으로 관리하는 데 도움이 되는 Dependency Injection 두 가지 중요한 개념입니다. Laravel 다음은 다양한 시나리오에서 사용하는 방법입니다.

사용 중 Service Container

in Service Container 은 Laravel 객체를 유연하게 관리하고 제공할 수 있도록 도와줍니다. 사용 방법은 다음과 같습니다 Service Container.

개체 등록: 메서드를 사용하여 bind 에 개체를 등록합니다 Service Container.

app()->bind('userService', function() {  
    return new UserService();  
});  

객체 접근: 객체를 사용해야 할 때 Service Container 등록된 이름을 사용하여 객체를 가져올 수 있습니다.

$userService = app('userService');

사용 Dependency Injection

Dependency Injection 종속성을 줄이고 코드를 더 읽기 쉽게 만듭니다. 사용 방법은 다음과 같습니다 Dependency Injection.

Declaring Dependencies via Constructor: 의존성을 사용해야 하는 클래스에서 constructor. Laravel 개체를 초기화할 때 자동으로 종속성을 주입합니다.

class UserController extends Controller  
{  
    protected $userService;  
  
    public function __construct(UserService $userService)  
    {  
        $this->userService = $userService;  
    }  
}  

메서드를 통해 종속성 주입 Setter: 메서드를 통해 종속성을 주입할 수도 있습니다 setter. Laravel 이러한 메서드를 자동으로 호출하여 종속성을 주입합니다.

class UserController extends Controller  
{  
    protected $userService;  
  
    public function setUserService(UserService $userService)  
    {  
        $this->userService = $userService;  
    }  
}  

결론

Service Container 및 Dependency Injection in을 활용하면 Laravel 종속성과 소스 코드 구조를 효과적으로 관리할 수 있습니다. 이러한 원칙을 적용하면 Laravel 응용 프로그램을 개발하는 동안 유연하고 유지 관리가 가능하며 쉽게 확장 가능한 코드를 만들 수 있습니다.