zoukankan      html  css  js  c++  java
  • 怎样封装一个自己的mvc框架(三)

    上一节写到初步完成框架的控制器调用

    接下来完成model,及view层的调用

    1.首先建立一个模型类,自动加载pdo操作数据库

    <?PHP
    namespace corelib;

    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 corelibmodel();

    尝试执行一条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 coremymvc

    浏览器访问即可输出$data;

    完成视图层的传值及调用

    这样一个简单的mvc框架已经成型!

  • 相关阅读:
    Sql中使用With创建多张临时表
    sql(join on 和where的执行顺序)
    什么是正则化
    ETL讲解(转)
    MySQL等 SQL语句在线练习
    Sublime text 3 --html
    Sublime text 3 搭建Python3 IDE
    地区列车经过查询
    Lasso回归算法: 坐标轴下降法与最小角回归法小结
    完全卸载VMware
  • 原文地址:https://www.cnblogs.com/quanzhiguo/p/7363356.html
Copyright © 2011-2022 走看看