《php面向对象》第26课:MVC框架的基本结构

上节课我们提到,现成的MVC框架有很多,最具有代表性的有thinkphp,YII ,为什么开要自己开发一个呢?

一个成熟的MVC框架需要10人以上的团队至少开发一年以上,我们开发的MVC框架只能是mini型。这样做的目的:

深入学习面向对象编程MVC设计模式

下面我们设计一个最简单的MVC结构,用实际代码来表示模型、视图、控制器三者之间的关系 。

我们创建了四个php文件:

外层目录有一个index.php文件,它是程序的入口文件,有一个lib目录,里面分别创建了控制器、模型、视图三个文件

以下是各文件的参考代码

model.php

<?php

namespace lib;

//模型
class Model
{
    //数据处理
    public function getData()
    {
        return ['张三', '李四', '王五'];
    }
}

view.php

<?php

namespace lib;

//视图
class View
{
    //显示数据
    public function display($data)
    {
        foreach ($data as $item) {
            echo $item . '<br>';
        }
    }
}

controller.php

<?php

namespace lib;

use lib\Model;
use lib\View;

//控制器
class Controller
{
    public function index()
    {
        //实例化模型对象
        $m = new Model();
        $data = $m->getData();

        //实例化视图对象
        $v = new View();
        $v->display($data);


    }
}

index.php

<?php
spl_autoload_register('autoload');

function autoload($class)
{
    $file = __DIR__ . "\\" . strtolower($class) . '.php';
    if (is_file($file)) {
        require_once $file;
    } else {
        die($file . '文件不存在');
    }
}

$c = new \lib\Controller();
$c->index();

认真阅读上面的代码,自己模仿一遍,弄清想模型、视图、控制器各自的分工。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李 书 明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值