我见过的所有关于 MVC 应该是什么以及如何使用的示例都使用类作为模型,类作为控制器,以及 HTML 模板作为视图。所有这些都由一个 index.php 脚本和 url 中的不同请求组成,以运行整个站点。
所以他们都像...
MODEL
class User{
function getUser($userID){
$sql = mysql_query('SELECT name......');
// more code.....
return $array
}
}
VIEW
<h2><?php echo $user['name']; ?></h2>
CONTROLLER
class Controller{
$userModel = new User;
$userInfo = $userModel->getUser($id);
$template = new Template('usertemplate.tpl');
$template->setVariables($userInfo);
$template->display();
}
我理解为什么模型是由简单地获取和保存数据的类组成的(尽管我认为类并不总是必要的并且可以使用函数)。我理解为什么模板主要由 HTML 组成。但我不明白为什么控制器是一个类。我假设控制器是一个程序脚本(如 userprofile.php,它从模型中获取用户数据并将其发送到模板进行显示)。
另外,我想知道为什么我读过的每个教程都涉及 mod 重写,并使用带有请求的单个页面,如“index.php?user=1”或 index.php?news=3 来运行整个地点。像 user_profile.php?id=1 或 news.php?id=3 这样的单独页面有什么问题...
有人可以帮助我快速“教程”和一路上的解释。就像...如何使用 MVC 实现注册表单,什么会去哪里以及为什么?谢谢你
PS。还有哪些其他类型的设计模式