php - 如何处理 MVC 网站的模板?

标签 php model-view-controller view

我将此标记为 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/

相关文章:

php - 在同一个 apache 网络服务器中对多个域使用相同的 php 软件?

php - 在单个查询中对多个字段进行过滤查询

c# - 有没有办法用 WebAPI 生成 Urls?

c# - 从尝试访问 MVC 应用程序中不存在的 url 的用户捕获 IP

javascript - 有没有办法使用与我的 JSON 中的属性名称不同的属性名称?

php - 在 PHP 中使用 MySQL 并尝试将数据库插入表时出现问题

javascript - 在 Ember 中(重新)呈现 View 模板时如何收到通知?

mysql - 从 2 个表中选择相同列到 View 中的 1 列中

Android sherlock 搜索 View

javascript - 通过 jQuery 写入 JSON 数据