Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


apricot:usage:ja:provider

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
apricot:usage:ja:provider [2020/08/29 17:28]
y2sunlight [Providerクラス]
apricot:usage:ja:provider [2020/08/29 20:38]
y2sunlight [Providerクラス]
行 21: 行 21:
 ---- ----
  
-Apricotでは、DIコンテナーに [[https://github.com/thephpleague/container|League/Container]] を使用しています。Apricotのスケルトンでは、League/Container のサービスプロバイダー機能を利用して、サービス(またはモデル)を登録することができます。+Apricotでは、DIコンテナーに [[https://github.com/thephpleague/container|League/Container]] を使用しています。Apricotのスケルトンでは、League/Container のサービスプロバイダー機能を利用して、サービス(またはモデルなどのクラスも含まれる)を登録することができます。サービスはアプリレーション全体で共有できます。即ちシングルトンとして利用できます。
  
 \\ \\
行 76: 行 76:
              ->addArgument('User')              ->addArgument('User')
         ;         ;
- 
         $this->getContainer()->add('User', \App\Models\User::class);         $this->getContainer()->add('User', \App\Models\User::class);
      }      }
行 84: 行 83:
 スケルトンでは[[apricot:usage:ja:model#サービス|サービスのサンプル]]として ''SampleService'' クラスを提供しています。このクラスはコンストラクタに''User'' モデルを与えて作ります。 スケルトンでは[[apricot:usage:ja:model#サービス|サービスのサンプル]]として ''SampleService'' クラスを提供しています。このクラスはコンストラクタに''User'' モデルを与えて作ります。
  
-''SampleService'' クラスをサービスプロバイターに登録するには、コンテナの''add()'' メソッドを使用し、その引数は、エイリアス名、登録するクラス、そして共有フラグです。共有フラグがtrueの場合、このクラスはシングルトンとして動作します。''addArgument()'' メソッドは登録するクラスのコンストラクタに与える引数を定義します。''addArgument()'' メソッドで定義した引数もまたサービスプロバイターに登録しておく必要があります。+''SampleService'' クラスをサービスプロバイターに登録するには、コンテナの''add()'' メソッドを使用し、その引数は、エイリアス名、登録するクラス、そして共有フラグです。共有フラグがtrueの場合、このクラスはシングルトンとして動作します。''addArgument()'' メソッドは登録するクラスのコンストラクタに与える引数を定義します。この引数もまた''add()'' メソッドで登録しておく必要があります。
  
 サービス(またはモデル)をサービスプロバイターに登録する場合は、上例に習って適宜追加して下さい。League/Container のサービスプロバイダーについての詳細は[[https://container.thephpleague.com/3.x/service-providers/|こちら]]をご覧ください。 サービス(またはモデル)をサービスプロバイターに登録する場合は、上例に習って適宜追加して下さい。League/Container のサービスプロバイダーについての詳細は[[https://container.thephpleague.com/3.x/service-providers/|こちら]]をご覧ください。
apricot/usage/ja/provider.txt · 最終更新: 2020/09/03 13:46 by y2sunlight