【发布时间】:2013-02-11 05:22:18
【问题描述】:
如果在 PHP 中尝试 MVC 只是在 controller.php 文件的末尾添加 include 'view.php';,这是否可以视为转发,因此仍然是 MVC?
【问题讨论】:
-
我说不,因为视图现在是控制器的一部分,并且控制器现在依赖于该文件来工作。
-
在不执行 require/include 的情况下如何访问不同的类/对象?我建议使用 require_once 而不是 include。
-
@Lawrence:在 MVC 控制器中应该决定使用哪些视图。不过,您不必直接在控制器中使用包含将它们紧密耦合。我会亲自制作一个视图控制器,它决定哪个视图是正确的,然后加载正确的内容。
-
@ChrisChristensen 显然是的,但是像 OP 所说的那样,在控制器末尾硬编码
include('view.php')是不应该的。如果编译整个文档需要一个以上的视图怎么办,至少有一个方法可以将控制器中定义的变量传递给视图。像 99.9% 的主流 MVC 框架
标签: php model-view-controller controller include forwarding