php自定义mvc框架_PHP简单的MVC框架实现方法

在PHP中使用MVC越来越流行了,特别是在一些开源的框架当中。

1.概述

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

2.代码结构

7fd96ef25d81e2f26cc8d3127e025fc3.png

11275e3f1ccd242e426951f562839cb0.png

3.代码实现

//function.php

//控制器调用函数

function C($name, $method){

require_once('libs/Controller/'.$name.'Controller.class.php');

//$testController = new testController();

//$testController->show();

eval('$obj = new '.$name.'Controller(); $obj->'.$method.'();');

}

//模型调用函数

function M($name){

require_once('libs/Model/'.$name.'Model.class.php');

eval('$obj = new '.$name.'Model();');

return $obj;

}

//视图调用函数

function V($name){

require_once('libs/View/'.$name.'View.class.php');

eval('$obj = new '.$name.'View();');

return $obj;

}

//过滤非法值

function daddslashes($str){

return (!get_magic_quotes_gpc())?addslashes($str):$str;

}

?>

//test.php

/*

第一步 浏览者 -> 调用控制器,对它发出指令

第二步 控制器 -> 按指令选取一个合适的模型

第三步 模型 -> 按控制器指令取相应数据

第四步 控制器 -> 按指令选取相应视图

第五步 视图 -> 把第三步取到的数据按用户想要的样子显示出来

*/

require_once('View/testView.class.php');

require_once('Model/testModel.class.php');

require_once('Controller/testController.class.php');

$testController = new testController();

$testController->show();

?>

//testController.class.php

/*

控制器的作用是调用模型,并调用视图,将模型产生的数据传递给视图,并让相关视图去显示

*/

class testController{

function show(){

/*$testModel = new testModel();

$data = $testModel->get();

$testView = new testView();

$testView->display($data);*/

$testModel = M('test');

$data = $testModel->get();

$testView = V('test');

$testView->display($data);

}

}

?>

//testModel.class.php

/*

模型的作用是获取数据并处理,返回数据

*/

class testModel{

function get(){

return "hello world";

}

}

?>

//testView.class.php

/*

视图的作用是将获得的数据进行组织,美化等,并最终向用户终端输出

*/

class testView{

function display($data){

echo $data;

}

}

?>

运行结果:

f480cca7353046ab0423311efb70fa00.png

PHP中的MVC

MVC[1]在软件工程中是一种软件的架构。从php的角度来讲MVC有一些不同。

Model(模型),程序应用功能的实现,程序的逻辑的实现。在PHP中负责数据管理,数据生成。

View(视图),图形界面逻辑。在PHP中负责输出,处理如何调用模板、需要的资源文件。

Controller(控制器),负责转发请求,对请求处理。在PHP中根据请求决定调用的视图及使用的数据。

为什么使用MVC

MVC的主要作用是为了将代码分层、分类。

MVC的主要目的是为了解决Web开发中分离开发与设计工作,使其工作相对独立。

在这样的过程中还发现了其他的一些优点,网站的目录结构更加清晰,网站更易维护与扩展,可以实现模块的复用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值