怎样封装一个自己的mvc框架(三)
上一节写到初步完成框架的控制器调用
接下来完成model,及view层的调用
1.首先建立一个模型类,自动加载pdo操作数据库
<?PHP
namespace core\lib;
class model extends \PDO
{
public function __construct()
{
$dsn="MySQL:host=localhost;dbname=test";
$username="root";
$passwd="root";
try{
parent::__construct($dsn,$username,$passwd);
} catch (\PDOException $e){
p($e->getMessage());
}
}
}
这样就完成了一个数据库的链接
然后在控制其中实例化这个类
$model=new \core\lib\model();
尝试执行一条sql语句
$sql="select * from **";
$model->query($sql)->fetchAll();
输出结果,完成模型类
2.然后完成视图层的调用
在控制器调用视图层
$data="Hello word";
$this->assign('data',$data);
$this->display('index.html');
建立一个视图文件
输出$data肯定输出不出来。。。
在核心文件中增加视图层方法
//定义一个存储传输数据的变量
public $assign;
//视图层传参方法
public function assign($key,$value)
{
$this->assign[$key]=$value;
}
//视图层显示方法
public function display($files)
{
$file=APP."/views/".$files;
if (is_file($file)) {
//将数组打散输出值
extract($this->assign);
include $file;
}
}
然后在控制其中继承核心类库
class indexController extends \core\mymvc
浏览器访问即可输出$data;
完成视图层的传值及调用
这样一个简单的mvc框架已经成型!