我将此标记为 PHP,但这只是因为我将使用 PHP 代码来显示我的问题。
所以我有一些这样的 Controller 代码:
switch ($page)
{
case "home":
require "views/home.php";
break;
case "search":
require "views/search.php";
break;
}
显然还有更多页面,但这应该可以说明我的问题。这两个页面(以及与此相关的网站上的所有页面)都有一个共同的页眉、导航和页脚。我应该使用多个 require 语句吗?我的第一个猜测是:
switch ($page)
{
case "home":
require "templates/header.php";
require "templates/navigation.php";
require "views/home.php";
require "templates/footer.php";
break;
case "search":
require "templates/header.php";
require "templates/navigation.php";
require "views/search.php";
require "templates/footer.php";
break;
}
不知何故,我的直觉告诉我这是不正确的。
最佳答案
Controller 应该只为 View 设置数据并选择要显示的 View 。 View 应该负责页面的布局,包括共享页面。比起第二个,我更喜欢你的第一个样本。
关于php - 如何处理 MVC 网站的模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/329724/