怎样封装一个自己的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框架已经成型!

 

posted @ 2017-08-15 09:27  QuanZhiGuo的博客  阅读(253)  评论(0编辑  收藏  举报