LoginSignup
0
0

More than 1 year has passed since last update.

EloquentのModelクラスを継承したクラスは依存性注入しなくていい?

Last updated at Posted at 2023-03-09

Why

Laravelを初めて勉強し始め、Model周りのクラスをインスタンス化せず使えることがわかりました。その理由ついて勉強しました。

答え

Modelクラスは、Eloquent ORMと共にデータベーステーブルとマッピングされます。これにより、Modelクラスのインスタンスは、データベースクエリビルダやORM機能を使用して、データベース操作を行うことができます。

理由

Eloquent ORMはLaravelのService Containerを使用して、Modelクラスに関連する依存関係の注入を処理します。Service Containerは、Laravelアプリケーションで使用されるすべてのオブジェクトを管理し、オブジェクトの生成、注入、解放などを自動的に処理することができます。

依存性注入とは?

依存関係の注入は、Service Containerを使用して、クラスインスタンスが必要とする他のオブジェクトを外部から注入することによって実現されます。これにより、モデルクラスは、データベース接続、キャッシュ、ルーティングなど、他のオブジェクトに対する依存関係を直接処理する必要がなく、外部から注入して使用することができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0