代码目录
代码下载地址:
https://github.com/lpx20181019/php_advanced/tree/master/mvc
代码内的MYSQLPDO.class.php是一个封装的数据库类,利用面向对象,pdo操作数据库,单例模式的知识,代码实现时简单处理没有用到这个类,有需要可以导入。
实例化一个单例:
require "MySQLPDO.class.php";
class model1 {
protected $db;
public function __construct(){
$this->initDB();
}
private function initDB(){
$dbConfig = array('user'=>'root','pass'=>'123456','dbname'=>'mvc_study');
$this->db = MySQLPDO::getInstance($dbConfig);
}
}
然后就可以用$this->db这个对象,在model文件夹下的模型类文件中,去调用这个数据库封装类里的方法了。
web中的mvc的流程:
客户端向服务器端的控制器发送http请求,控制器就会调用模型来取得数据,然后调用视图,将数据分配到网页模板中,再将最终结果的html网页返回给客户端。
实现效果:
url解析:
通过id查找信息并显示,所以url出现id的值
这里url重新改写了,c=student表明这是一个student控制器(实际类名,也是需要实例化的类的名字是studentController)为了简洁省去了后面的Controller
a=info表明使用了info方法,也省去了方法名后面的Action,默认是list方法。