我有一个视图 - PageView
- 其输出是多个ModuleView
输出的串联。我希望始终在控制器中初始化视图(如果需要)和模型。这样做的原因是我发现基于控制器操作初始化给定视图很容易(许多模型与多个视图相关联,即:前端视图和后端视图)。
如果我在视图中初始化控制器,我是否会被斩首?如果是,您会建议采用什么方法来解决视图串联其他视图的问题?
PHP代码
class PageView
{
public function Output()
{
# $this->modules was set by a method called from PageController
foreach ($this->modules as $module)
{
$module_controller = new ModuleController();
# Will initialize ModuleModel (ID of 23 in constructor) and ModuleView, then call ModuleView->Output(ModuleModel->GetData())
$module_controller->ShowFrontEnd(array('module_id' => 23));
}
}
}
该项目很重,因此需要页面和模块控制器。目标是让那些对PHP中的MVC模式有经验的人提供简单的可扩展性和可读性。
答案 0 :(得分:0)
是的,你将被斩首。控制器应该是产生/处理视图,而不是相反。如果从视图初始化控制器,则不再是MVC。