我把它标记为PHP,但仅仅因为我将使用PHP代码来显示我的问题.
所以我为控制器提供了这样的代码:
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; }
不知怎的,我的直觉告诉我这不正确.
控制器应该只为视图设置数据并选择要显示的视图.视图应负责页面的布局,包括共享页面.我喜欢你的第一个样本.