参考:

1. http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/

2. http://anantgarg.com/2009/03/30/write-your-own-php-mvc-framework-part-2/

实例:

Controller.php

<?phpinclude 'Model.php';
include 'View.php';class Controller{private $model = '';private $view = '';public function Controller(){$this->model = new Model();$this->view = new View();}public function doAction($method = 'defaultMethod', $params = ''){if(empty($method)){$this->defaultMethod();}else if(method_exists($this, $method)){call_user_func(array($this, $method), $params);}else{ $this->noexisting_method();}}public function link_page($name = ''){$links = $this->model->getLinks();$this->view->display($links);$result = $this->model->getResult($name);$this->view->display($result);}public function defaultMethod(){$this->br();echo 'This is the default method. ';}public function nonexisting_method(){$this->br();echo 'This is the noexisting method. ';}public function br(){echo '<br />';}
}$controller = new Controller();
$controller->doAction('link_page', 'b');
$controller->doAction();

Model.php

<?phpclass Model
{private $database =  array('a' => 'hello world', 'b' => 'ok well done',  'c' => 'good bye');//@TODO connect the database//run the query and get the resultpublic function getResult($name){if(empty($name)){ return false; }if(in_array($name, array_keys($this->database))){ return $this->database[$name]; }}public function getLinks(){$links = 'Link A  ';$links .= 'Link B  ';$links .= 'Link C  ';return $links;}
}

View.php

<?phpclass View
{public function display($output){//ob_start();echo $output;}
}

写你自己的MVC框架相关推荐

  1. 自己动手写一个简单的MVC框架(第二版)

    一.ASP.NET MVC核心机制回顾 在ASP.NET MVC中,最核心的当属"路由系统",而路由系统的核心则源于一个强大的System.Web.Routing.dll组件. 在 ...

  2. 仿照源码,手写一个自定义 Spring MVC 框架

    毫无疑问,Spring 框架目前已经成为 Java 开发的行业标准,Spring MVC 作为其 Web 解决方案,是所有 Java 开发者都必须掌握的基本技能,理解其底层原理,才能更好地应用它进行实 ...

  3. 学写一个 Java Web MVC 框架(一)

    当前我们介绍的是一个简单的MVC,用8个类即实现完整Spring MVC核心功能,外加其他实用的小功能.它是怎么实现的呢?让我们来一探究竟! 源码在:https://gitee.com/sp42_ad ...

  4. 学写一个 Java Web MVC 框架(四)

    访问请求处理 当客户端发送一个请求,被自定义的过滤器MvcDispatcher拦截,解析请求地址和参数对象跳转到一个控制器的方法中,然后执行进行逻辑处理后返回响应内容给MvcDispatcher输出, ...

  5. 自己动手写一个简单的MVC框架(第一版)

    一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司 ...

  6. 写自己的ASP.NET MVC框架(上)

     开始 ASP.NET程序的几种开发方式 介绍我的MVC框架 我的MVC框架设计架构 回忆以往AJAX的实现方式 MyMVC中实现AJAX的方式 如何使用MyMVC框架中的AJAX功能 配置MyM ...

  7. 开发自己的PHP MVC框架(一)

    这个教程能够使大家掌握用mvc模式开发php应用的基本概念.此教程分为三个部分.如今这篇是第一部分. 如今市面上有非常多流行的框架供大家使用.可是我们也能够自己动手开发一个mvc框架.採用mvc模式能 ...

  8. 使用MVC框架开发网站(一)

    概述 本章您将学会: 1.MVC的概念及使用 2.MVC与ASP.NET的区别 3.路由和URL导向 4.控制器和视图 5.模型与模型状态 6.过滤器 7--. 第1章_MVC与ASP.NET的区别 ...

  9. 学习如何写PHP MVC框架(1) -- 路由

    说到PHP开发web,自然离不开开发框架,开发框架为我们提供了灵活的开发方式,MVC层分离,业务解耦等... 第一篇先来简单点的,说说MVC框架的路由功能... 一般的单入口框架路由都是这样的结构: ...

最新文章

  1. SD-WAN技术的详细解析
  2. IE6 PNG透明终极解决方案
  3. 输出halloword
  4. 学生社团管理系统PHP源码,学生社团管理系统 附带源码
  5. ai怎么做波普风圆点_AI绘画教程,绘画波普艺术风格人像
  6. 大学物理公式和名词整理
  7. C语言编程题必须运行吗,全国计算机二级c语言的的操作题一定要运行吗?
  8. react native 面试题
  9. 关于sqlserver远程连接创建后报错小结
  10. 计算机一级基础及msoffice应用,全国计算机等级考试教程一级计算机基础及MS Office应用...
  11. JS面向对象——OOP
  12. HyperLedger-fabric V0.6 for CentOS7.2开发环境搭建
  13. 薅羊毛 | Python 自动化带你轻松赚钱
  14. 沧小海深入剖析xilinx的GTP/GTX核,掌握高速串行收发机制——第一章 前言闲谈
  15. 少年你骨骼精奇?AI现在可以帮你看一看了
  16. RNA-seq + 下游分析:一条龙代码
  17. MySQL笔记 —— jdbc工具类(网站的修改密码,注册账号,注销账号功能)
  18. 错误信息was not declared in this scope
  19. 英特尔傲腾,给内存和存储间加点“料”
  20. 博智云书 | 建筑工程文档管理好帮手

热门文章

  1. python编码转换中文_python3如何中文转换编码?
  2. Le-net网络总结
  3. opencv学习笔记2
  4. pyqt打包成linux可执行程序,PyQtopencv图像处理(5):python程序打包成可执行文件...
  5. opencv 扩大区域_python-----opencv图像边界扩充
  6. 服务器被bash服务占满_用bash脚本自动下载ftp服务器文件
  7. 3-3HDFS中文件的读写操作
  8. height:calc(100% - 10px)的用法(垂直居中) - 布局篇
  9. 本地运行vue.js项目,如何更改调试的默认端口?
  10. python计算分段函数_Python练习题2.2计算分段函数