0

我目前创建View并将其注入到请求中Controller,然后我做

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

然后在我的 startup.php 文件的末尾我做

$view->render();

我现在正在将我的应用程序更改为有一个ViewperController但我能想到的唯一方法是实例化Viewin ,Controller因为每个Controller都会有一个唯一的View实例。

编辑

如果我有一个,Controllers\Products我希望它有一个Views\Products。最简单的方法是实例化Views\Products内部Controllers\Products,因为当我在里面时,Controller我会确切地知道View我需要什么,但我不喜欢在 a 中实例化 a 的View想法Controller

我更愿意在Views\Products外部创建Controllers\Products并将其注入。

我用这些属性Router::route($uri)返回 aRoute

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 回答