2

Silexを使用してアプリケーションを作成していますが、メソッド パラメーターでSilex\Application実行できない場所でのインスタンスを何らかの方法で取得できるかどうか疑問に思っていました。method_name(Application $application)

たとえば、コントローラーにアクションではないプライベート メソッドがあるとします。パラメータApplication $applicationとして入力すると、渡す必要があるというエラーがスローされます。

必要がない場合は、そのメソッドを手動で渡す必要はありません。

4

2 に答える 2

4

それを行うには、実際には2つの方法しかありません。

a) クラスのコンストラクターに引数として渡しSilex\Application、それをインスタンス変数として割り当てます。

b)Silex\Applicationを手動で引数としてプライベート メソッドに渡します。

クラスで完全なアプリが必要ですか? 依存性注入のポイントは、コンテナーを注入するのではなく、依存性を直接注入することです (はい、Silex\Applicationextends \Pimple、依存性注入コンテナーです。

于 2011-12-08T15:12:03.297 に答える