mvc模式:百度百科 已经说得很详细了。对于初学者可能看完等于没看,建议结合代码来理解。
mvc模式:强制性的使应用程序的输入,处理,输出分离。
(Model View Controller 模型-视图-控制器)
Model(模型)
是用于处理应用程序
数据逻辑
的部分,负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
Controller(控制器)是应用程序中处理用户交互的部分。处理用户输入,并向模型存取数据,最后输出视图到浏览器。
原理图
代码案例
data[$v]=$var;
}
public function display($file){
/**
* 读取模板文件
*/
$str = file_get_contents($file);
/**
* 模板数据替换
*/
$arr = each($this->data);
list($k,$v) = $arr;
$str=str_replace($k,$v,$str);
/**
* 输出到浏览器
*/
echo $str;
}
}
class Controller extends View{
/**登陆验证功能**/
public function login(){
/**
* 第一步 处理用户输入
* 例如 数据的安全过滤
*/
/**
* 第二步 调用Modle 读写数据
* 我们这里只需要知道用户密码是否正确,并不需要写回数据到浏览器
* 例如
* $model = new Model();
* if( $model->isCheck(user,password) ){}
*/
/**
* 第三步 视图数据返回到浏览器
* 例如
* $this->assign('var',$var);
* $this->display('模板文件');
*/
}
}
/**
* 这里模仿单一入口
* 单一入口:浏览器每次都访问index.php文件
* 由url参数决定调用哪个controller下哪个方法
* 例如
* url: http://www.shop.com/index.php?Controller='Controller'&action='login'
* 对应的控制器是Controller 下方法为login
*/
$con = $_GET['Controller'];
$act = $_GET['action'];
/**调用相应的控制器下的响应方法**/
$c =new $con();
$c->$act();
?>