`
天梯梦
  • 浏览: 13747783 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

写你自己的MVC框架

阅读更多

参考:

 

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

 

<?php

include '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

 

<?php

class Model
{
	private $database =  array('a' => 'hello world', 'b' => 'ok well done',  'c' => 'good bye');

	//@TODO connect the database
	//run the query and get the result
	public 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

 

<?php

class View
{
	public function display($output)
	{
		//ob_start();
		echo $output;
	}
}
 

 

 

 

 

 

 

 

  • mvc.rar (1.3 KB)
  • 下载次数: 18
分享到:
评论

相关推荐

    自己手写PHP MVC 框架

    在自己手写PHP MVC框架的过程中,你可以深入理解这一模式的工作原理,提升编程技能。 **模型(Model)**: 模型是应用的核心,负责处理业务逻辑和数据管理。在PHP MVC框架中,模型类通常与数据库交互,执行增删改查...

    MVC框架源代码(自己系=写的)

    在这个标题为“MVC框架源代码(自己写的)”的压缩包中,我们推测作者分享的是他自己实现的一个JavaScript MVC框架的源代码,这可能是对经典MVC模式的一种个人化实现。 **1. Model(模型)** 模型层是MVC的核心,它...

    微信开发php+mvc框架

    微信开发php+mvc框架

    自己写的PHP MVC框架2.0

    自己写的MVC框架,功能完善,用来写一些小项目是绰绰有余了。实现了MVC三层架构,支持模块化设计,应用目录自动生成,命名空间自动加载到类,url mode,url路由等功能。感兴趣的朋友可以下载回去,一起探讨一起学习...

    自己利用mvc写的框架

    这个“自己利用mvc写的框架”是一个个人实现的MVC框架,它借鉴了Struts的一些设计思想。学习和研究这个框架可以帮助开发者巩固MVC模式的理解,提高对Struts框架的掌握,并锻炼实际的软件开发能力。通过分析框架的源...

    PHP mvc框架

    在开发自己的PHP MVC框架时,你需要考虑以下关键组件: - **路由系统**:解析URL,确定哪个控制器和方法应该处理请求。 - **依赖注入**:允许在运行时向对象传递依赖,提高代码灵活性和测试性。 - **数据库抽象层**...

    自己写的一个MVC框架

    【标题】:“自己写的一个MVC框架” 【描述】:“放寒假的时候写的一个像struts基本功能的框架!!!” 这个描述中提到的“MVC框架”是指模型-视图-控制器(Model-View-Controller)架构模式,这是一种广泛应用于...

    ASP.NET MVC框架开发系列课程(1):MVC模式与ASP.NET MVC框架概述

    ASP.NET MVC框架是微软开发的一款用于构建Web应用程序的开源、轻量级且高度模块化的框架。这个框架结合了Model-...本课程的视频资源将会详细解释这些知识点,并提供实践示例,帮助你快速上手ASP.NET MVC框架的开发。

    简单的MVC框架例子

    **简单的MVC框架例子** 在Web开发中,MVC(Model-View-Controller)模式是一种广泛应用的设计模式,它将应用程序的结构分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这个简单的MVC框架...

    C++实现简单的MVC框架

    本项目是用C++实现的一个简单的MVC框架,名为MVCDemo,旨在帮助开发者理解MVC设计模式的基础概念。 首先,我们来详细解释MVC的三个组成部分: 1. Model(模型):模型层是应用的核心,它负责管理数据和业务逻辑。...

    自己写的PHP MVC框架

    下面,我们将深入探讨“自己写的PHP MVC框架”所涉及的关键知识点。 首先,**MVC模式** 是一种软件设计模式,它将业务逻辑、数据处理和用户界面分离。Model负责处理数据和业务逻辑,View用于展示数据,而Controller...

    自己写的PHP MVC框架,轻量框架,含bootstrap组件

    **PHP MVC框架详解** 在PHP开发领域,MVC(Model-View-Controller)模式是一种广泛使用的架构模式,它有助于分离业务逻辑、数据处理和用户界面。这个轻量级的PHP MVC框架是个人开发者为了简化小型应用开发而创建的...

    MVC模式与ASP.NET MVC框架概述源码

    MVC模式与ASP.NET MVC框架概述源码MVC模式与ASP.NET MVC框架概述源码MVC模式与ASP.NET MVC框架概述源码MVC模式与ASP.NET MVC框架概述源码MVC模式与ASP.NET MVC框架概述源码MVC模式与ASP.NET MVC框架概述源码

    C# MVC 经典框架

    在C# MVC框架中,"Model"代表应用的核心业务逻辑,它负责处理数据和业务规则。"View"是用户界面,展示数据给用户。而"Controller"则扮演中介角色,接收用户请求,调用Model进行处理,并将结果传递给View显示。 文件...

    MVC框架工程Myeclipse做的

    **MVC框架详解** 在软件开发领域,MVC(Model-View-Controller)框架是一种广泛应用于Web应用设计的架构模式。MVC将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以此实现业务...

    .netmvc框架

    在.NET MVC框架中,模型(Model)负责处理业务逻辑和数据管理,它是应用程序的核心部分。视图(View)则主要负责展示数据,它通常与控制器(Controller)交互,接收控制器传递的数据并渲染成用户界面。控制器负责...

Global site tag (gtag.js) - Google Analytics