PHP之简单实现MVC框架
PHP之简单实现MVC框架
1.概述
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
2.代码结构
3.代码实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<?php //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 ; } ?> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php //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(); ?> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php //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 ); } } ?> |
1
2
3
4
5
6
7
8
9
10
11
|
<?php //testModel.class.php /* 模型的作用是获取数据并处理,返回数据 */ class testModel{ function get(){ return "hello world" ; } } ?> |
1
2
3
4
5
6
7
8
9
10
11
|
<?php //testView.class.php /* 视图的作用是将获得的数据进行组织,美化等,并最终向用户终端输出 */ class testView{ function display( $data ){ echo $data ; } } ?> |
运行结果:
PHP之简单实现MVC框架的更多相关文章
- AsMVC:一个简单的MVC框架的Java实现
当初看了<从零开始写一个Java Web框架>,也跟着写了一遍,但当时学艺不精,真正进脑子里的并不是很多,作者将依赖注入框架和MVC框架写在一起也给我造成了不小的困扰.最近刚好看了一遍sp ...
- 自己动手写一个简单的MVC框架(第一版)
一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司 ...
- 自己动手写一个简单的MVC框架(第二版)
一.ASP.NET MVC核心机制回顾 在ASP.NET MVC中,最核心的当属“路由系统”,而路由系统的核心则源于一个强大的System.Web.Routing.dll组件. 在这个System.W ...
- php实现最简单的MVC框架实例教程
本文以一个实例的形式讲述了PHP实现MVC框架的过程,比较浅显易懂.现分享给大家供大家参考之用.具体分析如下: 首先,在学习一个框架之前,基本上我们都需要知道什么是mvc,即model-view-co ...
- 自定义简单算法MVC框架
什么是MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, 它是一种软件设计典范,用一种业务逻辑.数据 ...
- 封装简单的mvc框架
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式. MVC把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller). PH ...
- 一个简单的MVC框架的实现-基于注解的实现
1.@Action注解声明 package com.togogo.webtoservice.annotations; import java.lang.annotation.Documented; i ...
- 一个简单的MVC框架的实现
1.Action接口 package com.togogo.webtoservice; import javax.servlet.http.HttpServletRequest; import jav ...
- PHP写一个最简单的MVC框架
照网上看的.Framework.class.php文件是灵魂. <?php class Framework { public static function run() { //echo &qu ...
随机推荐
- Git 常用命令合集
$ git init 建立git仓库(一般都是在github上新建好,直接克隆到本地) $ git clone **.git 克隆git仓库 $ git add -A ...
- 命令行环境下简单实用的工具——重定向&管道
如果你对管道和重定向应用自如了,无需继续往下看.本文虽然以windows上cmd命令行环境演示,但同样适用于Unix/Linux等平台. 引言 关于管道和重定向,最初是在刘汝佳的<算法竞赛入门经 ...
- 网络知识学习2---(IP地址、子网掩码)(学习还不深入,待完善)
紧接着:网络知识学习1 1.IP地址 IP包头的结构如图 A.B.C网络类别的IP地址范围(图表) A.B.C不同的分配网络数和主机的方式(A是前8个IP地址代表网络,后24个代表主机:B是16 ...
- 【Java EE 学习 25 下】【网上图书商城js小技术点总结】
1.日历控件的使用 日历控件源代码: /** * add auto hide when mouse moveout * * @version 1.0.1 * @date 2010-11-23 * @a ...
- OpenCv全景图像拼接
http://my.oschina.net/xiaot99/blog/226589 http://blog.csdn.net/chenjiazhou12/article/details/2282548 ...
- iOS中获取各种文件的目录路径的方法
我们的app在手机中存放的路径是:/var/mobile/Applications/4434-4453A-B453-4ADF535345ADAF344 后面的目录4434-4453A-B453-4AD ...
- js函数封装
1.随机数 <script> function rnd(n,m){ return parseInt(Math.random()*(m-n)+n); } var a=rnd(45,47); ...
- RabbitMQ 实例
转载地址:http://www.cnblogs.com/yangecnu/p/4227535.html .NET 环境中使用RabbitMQ 在企业应用系统领域,会面对不同系统之间的通信.集成与整 ...
- [工作中的设计模式]装饰模式decorator
一.模式解析 装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 装饰模式的要点主要是: 1.需要对已有对象扩展新的功能,又不希望改变原有对 ...
- Java代码常用写法总结
1.字符串是否为空判断 以下是java 判断字符串是否为空的四种方法:方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equal ...