このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン 両方とも次のリビジョン | ||
slim:4:routing [2020/10/10 17:49] y2sunlight [Container Resolution] |
slim:4:routing [2020/10/10 21:13] y2sunlight [Slimがコントローラーをインスタンス化できるようにする] |
||
---|---|---|---|
行 462: | 行 462: | ||
===== コンテナ―ソリユーション ===== | ===== コンテナ―ソリユーション ===== | ||
- | |||
- | You are not limited to defining a function for your routes. In Slim there are a few different ways to define your route action functions. | ||
ルートに対しては関数を定義することだけに限定されません。Slimでは、ルートのアクション関数を定義するいくつかの異なる方法があります。 | ルートに対しては関数を定義することだけに限定されません。Slimでは、ルートのアクション関数を定義するいくつかの異なる方法があります。 | ||
行 493: | 行 491: | ||
- | ==== Registering a controller with the container | + | ==== コントローラーをコンテナーに登録する |
- | Create a controller with the '' | + | '' |
- | + | ||
- | '' | + | |
<code php> | <code php> | ||
行 525: | 行 521: | ||
} | } | ||
</ | </ | ||
- | |||
- | Create a factory in the container that instantiates the controller with the dependencies: | ||
依存関係を持つコントローラーをインスタンス化するファクトリをコンテナーに作成します。 | 依存関係を持つコントローラーをインスタンス化するファクトリをコンテナーに作成します。 | ||
行 543: | 行 537: | ||
}); | }); | ||
</ | </ | ||
- | |||
- | This allows you to leverage the container for dependency injection and so you can inject specific dependencies into the controller. | ||
これにより、依存関係の注入にコンテナーを活用できるため、特定の依存関係をコントローラーに注入できます。 | これにより、依存関係の注入にコンテナーを活用できるため、特定の依存関係をコントローラーに注入できます。 | ||
行 550: | 行 542: | ||
\\ | \\ | ||
- | ==== Allow Slim to instantiate the controller | + | ==== Slimがコントローラーをインスタンス化できるようにする |
- | + | ||
- | Alternatively, | + | |
- | または、クラスのコンテナにエントリがない場合、Slimはコンテナのインスタンスをコンストラクタに渡します。 | + | また、クラスがコンテナにエントリされていない場合、Slimはコンテナのインスタンスをそのクラスのコンストラクタに渡します。1つのアクションのみを処理する呼び出し可能なクラスの代わりに、多くのアクションを持つコントローラーを構築できるのです。 |
<code php> | <code php> | ||
行 589: | 行 579: | ||
</ | </ | ||
- | You can use your controller methods like so. | + | このコントローラーメソッドは次のように使用できます。 |
- | + | ||
- | このようにコントローラーメソッドを使用できます。 | + | |
<code php> | <code php> |