アクションごとのインジェクション
アクションごとにインジェクションしたい場合は、アクションクラスを配置したディレクトリのmoony.iniにインジェクション定義を全部書いておいて、必要なものだけアクションのインスタンス変数とすればOK。
たとえば、moony.iniが以下のようになっていて、
[Injections] calculator=Foo_Calculator numberer=Foo_Numberer
アクションクラス"Foo"ではFoo_Calculatorのインスタンスしか必要でない場合、以下のようにアクションクラスで定義すればいい。
class Foo { var $request; var $response; var $calculator; function execute() { // リクエストパラメータ取得 $x = $this->request->text1; $y = $this->request->text2; // 計算(例) // $this->calculatorはFoo_Calculatorのインスタンス $result = $this->calculator->add($x, $y); // テンプレートに値をセット $this->response->set('result', $result); } }
この場合、Foo_Numbererのインスタンスは生成されない。
…こんな感じでどうかな? Moony 0.10.xの骨格が大体決まってきた感じ。