我目前创建View
并将其注入到请求中Controller
,然后我做
$this->view->load('sometemplate');
然后在我的 startup.php 文件的末尾我做
$view->render();
我现在正在将我的应用程序更改为有一个View
perController
但我能想到的唯一方法是实例化View
in ,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();
我在想,如果 myViews
和Controllers
具有相同的名称,我可以使用 中的$controller
属性Route
来实例化正确的View
,然后将其注入到正确的Controller
. 这会是一个好方法吗?
解决此问题的最佳方法是什么?
谢谢。