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 응용 프로그램을 개발하는 동안 유연하고 유지 관리가 가능하며 쉽게 확장 가능한 코드를 만들 수 있습니다.