网上很多介绍mvc模式的,刚开始我不会的时候,看的也是特别的模糊看不懂,今天就用通俗易懂的话来说一下我对mvc模式的应用和理解:
1.首先要分清楚“m”,“v”,“c”分别代表什么,什么意思:m代表的是model ,model这个类就是数据库更删改查的sql语句连接都是在model层完成的。v代表的是view,view是视图,简单的是就是显示页面。c代表的是controller,controller是控制器,简单的说model和view,都是由控制器调用的。
2.大约都了解了我们在套用实例说一下,或许你就能明白。
(1)我们先说一下一个注册的过程吧,先做一个显示页面也就是在view层做一个表单:
<form action="../controller/register.php" method="post">
<p align="center">用户名:<input type="text" name="username"/></p>
<p align="center">密码:<input type="password" name="pwd"/></p>
<p align="center">邮箱:<input type="text" name="email"/></p>
</from>
然后会提交给这个model层下的连接一下数据库:
class regist(){
public function registsucc{
$数据库名 = mysql_connect("localhost", "用户名", "密码");
mysql_select_db("数据库", $数据库名);
mysql_query("set names utf8");
$sql = "select * from user_info where user_name='$user_name'";
$query_01 = mysql_query($sql);
$result_01 = mysql_fetch_array($query_01);
$num_all = mysql_num_rows($query_01);
if ($num_all > 0) {
echo "<script language'javascript'>alert('账户已经存在,请重新注册');location.href='register.php';</script>";
} else {
$query = "INSERT INTO user_info(user_name,$pwd,email) VALUES ('$user_name','$pwd',$email')";
$result = mysql_query($query);
}
}
mysql_close($数据库名);
}
3.控制器
controller下的文件register.php
$username=@$_POST['username'];
$pwd=@$_POST['pwd'];
$email=@$_POST['email'];
$regist= new regist();
$this->assign("res",$regist->registsucc());
if($query){
echo "<script language'javascript'>alert('成功!');location.href='index.php';</script>";
}else{
echo"数据异常";
}
mvc看起来多此一举,因为直接传递给参数数据库层直接查询判断成功跳转就能完成,但是我觉得还是这样代码能分得清楚,出bug或者处错误,直接能找到在那个地方出现的错误,一例通,其他的像登录注册只是在model层方法上换成查询,删除就能实现其他的功能。我觉得自己写的挺详细了,希望能给像我一样的新手启发。有什么地方写的不要请批评