Service Container 使用方法と Dependency Injection 使用方法 ガイド Laravel

Service Container と は、 ソース コードの依存関係と構造を効率的に管理するのに役立つ Dependency Injection 2 つの重要な概念です。 Laravel 以下に、さまざまなシナリオでの使用方法を示します。

SUの使用 Service Container

オブジェクトの柔軟な管理と提供を支援し ます 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。

を使用した依存関係の宣言 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 と、 Laravel 依存関係とソース コード構造を効果的に管理するのに役立ちます。 これらの原則を適用すると、アプリケーションの開発中に、柔軟で保守性が高く、簡単に拡張できるコードを作成できます Laravel。