ページビューの合計

2023年2月23日木曜日

Laravle: サービスコンテナ

 サービスコンテナ

  1. リクエストのライフサイクル
  2. 設定
  3. ディレクトリ構成
  4. フロントエンド
  5. サービスコンテナ
  6. ファサード

 

イントロダクション

Laravelサービスコンテナは、クラスの依存関係を管理し、依存注入を実行するための強力なツールです。依存の注入は、本質的にこれを意味する派手なフレーズです。クラスの依存は、コンストラクターまたは場合によっては「セッター」メソッドを介してクラスに「注入」されます。
ん?
依存注入って言うとDI(Dependency Injection)のことですかね?
以前、BEAR.SundayというPHPフレームワークでDIのことは初めて知った気がします。
 
 AというクラスがBというクラスを使うときにAの内部でBをインスタンス化せずに外部からBのインスタンスを受け取って(コンストラクタあるいはセッター)内部の変数に格納しておくというものだったはず。
そしてどのクラスをインスタンス化を知っていて実際にインスタンス化して注入する(といってもコンストラクタを呼ぶとかセッターを呼ぶだけ) 役割がDIコンテナだったかな?
 
 
だいたい合ってそうです。
 
サンプルのソースコードでは、UserRepository $usersをコンストラクタで受け取って内部変数に格納しています。
そしてshow()メソッドで受け取ったパラメータ$idを使って検索した結果をビューに渡してリターンしています。
$usersオブジェクトの中で$idに一致するものを検索して返すんでしょうね。
 
 
 
 

0 件のコメント:

コメントを投稿

Laravel再学習

フロントエンド系の方に興味が行っていましたがまたバックエンド系に戻ってきました。 Laravelです。 かなり忘れてます、自分のブログを見ながらもう一度です。 今回はMVCパターン、そして Eloquentを使えるようになるのが目的です。 まずはプロジェクト作成から 1. Com...