浅谈MVC学习封装

首先我们先来介绍下MVC的几个基本的文件目录

鄙人对MVC的认识

MVC是一种设计模式,它强制的将应用程序的输入、处理、和输出分开。
	使用了MVC的应用程序被分为3个核心部件:试图(View)、模型(Model)、控制器(Controller)。它们各司其职,既分工明确又相互合作。
首先视图接受用户输入请求,然后将请求传递给控制器,控制器再调用某个模型来处理用户的请求,在控制器的控制下,再将处理后的结果交给某个视图进行格式化输出给用户.


MVC 的运行原理为

第一步 浏览者 -> 调用控制器,对他发出指令
第二步 控制器 -> 按指令选取一个合适的模型
第三步 模型   -> 安控制器指令取相应的数据
第四步 控制器 -> 按指令取相应的试图
第五步 试图   -> 把第三步取到的数据按照用户想要的样子显示出来


下边我们来做一个简单的MVC框架,仅作为入门学习。


第一步  制作第一个控制器程序 

控制器名称为

testController.class.php

<?php
class testController{
    function show(){
        $restModel = M('test');
        $data = $restModel->get();
        $testView = V('test');
        $testView->display($data);
    }
}
?>
其中 M()和V()函数为自定义封装函数,在下边的function.php中会有介绍。


第二步  制作第一个模型程序

模型名为

testModel.class.php

<?php
    class testModel{
        function get(){
            return 'hello';
        }
    }
?>

第三步  制作第一个视图程序

文件名为


testView.class.php

<?php
    class testView{
        function display($data){
            echo $data;
        }
    }
?>

第四步   创建function.php 为我们的自定义函数系列文件,里边包括我们所有自定义封装的函数。

<?php
function C($controller,$metho){
    require_once('lib/Controller/'.$controller.'Controller.class.php');
    eval('$obj = new '.$controller.'Controller(); $obj->'.$metho.'();');
}

function M($name){
    require_once('lib/Model/'.$name.'Model.class.php');
    eval('$obj = new '.$name.'Model(); ');
    return $obj;
}

function V($name){
    require_once('lib/View/'.$name.'View.class.php');
    eval('$obj = new '.$name.'View();');
    return $obj;
}
function daddslashes($str){
    return (!get_magic_quotes_gpc()?addslashes($str):$str);
}
?>

daddslashes()函数为验证函数,方法等参数的安全,会帮我们过滤一遍,在进行调用。


最后我们的入口文件 index.php

<?php
require_once('function.php');
$controllerAllow=array('test','index');
$methoAllow=array('test','index');
@$controller=in_array($_GET['controller'],$controllerAllow)?daddslashes($_GET['controller']):'test';
@$metho=in_array($_GET['metho'],$methoAllow)?daddslashes($_GET['metho']):'show';
C($controller,$metho);

?>

这样,我们简单的一个MVC框架就搭建完成了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值