0

私は現在、を作成し、Viewそれを要求されたものに挿入してControllerから実行します

$this->view->load('sometemplate');

そして、startup.php ファイルの最後に

$view->render();

私は現在、アプリケーションをViewperを持つように変更していますControllerが、それを行う唯一の方法は、すべてが一意のインスタンスを持つため、 をインスタンス化ViewするControllerことControllerですView

編集

私が持っているなら、Controllers\Products私はそれが欲しいですViews\Products。これを行う最も簡単な方法は、Views\Products内部をインスタンス化するControllers\Productsことです.ControllerViewViewController

Views\Products私は外側で作成しControllers\Products、それを注入することを好みます。

Myは、これらのプロパティでRouter::route($uri)a を返しますRoute

private $directory;
private $controller; // Just controller name, not an instance
private $method;
private $params = array();

myViewsControllers同じ名前を持っている場合、 の$controllerプロパティを使用しRouteて正しいインスタンスを作成Viewし、それを正しい に注入できると考えていましたController。これは良い方法でしょうか?

この問題を解決する最善の方法は何ですか?

ありがとう。

4

1 に答える 1

-1

MVC について話している場合は、コントローラー クラス内にアクションが必要です。規則に従って、ビュー クラスはアクションと同じ名前にする必要があります。

于 2013-04-01T12:06:16.830 に答える