A,首先分别实现MVC的基类以及路由模块
控制器(controller.inc)
<?php
class Controller
{
private static $instance;
public function __construct()
{
self::$instance =& $this;
}
public static function &get_instance()
{
return self::$instance;
}
}
?>
模型(model.inc)
<?php
class Model
{
private static $instance;
public function __construct()
{
self::$instance =& $this;
}
public static function &get_instance()
{
return self::$instance;
}
}
?>
路由(router.inc)
<?php
require_once("testcontroller.php");
class Router
{
static public function route(){
$request_uri = $_SERVER["REQUEST_URI"];
$params = explode("/",$request_uri);
$e_class = substr($params[1],strpos($params[1],"?")+1);
$e_method = $params[2];
$inputs = array();
for($i = 3;$i < count($params);$i += 2){
$inputs[$params[$i]] = $params[$i+1];
}
$c = new $e_class;
$c->$e_method($inputs);
}
};
?>
框架入口(index.php)
<?php
require_once("router.inc");
Router::route();
?>
通过上面的一点代码,一个简单的MVC结构就搭建好了
B,下面来具体使用了试试,创建一个自定义model,controller以及视图view
自定义视图(view.tpl)
<html>
<head>
<title>test page</title>
</head>
<body>
<h1><?php
echo $message;
?></h1>
</body>
</html>
自定义控制器(testcontroller.php)
<?php
require_once("controller.inc");
require_once("test_model.php");
class test_controller extends Controller
{
public function find($input){
$model = new test_model();
$res = $model->select($input["id"]);
$message = $res["msg"];
//var_dump($message);
include_once("view.tpl");
}
}
?>
自定义模型(test_model.php)
<?php
require_once("model.inc");
class test_model extends Model
{
public function select($id){
//select * from [table_name]
return array(
"id" => $id,
"msg" => "test message"
);
}
}
?>
这里我没有实现数据库操作类,只是简单的模拟以下,把上面这些文件放到网站根目录下,测试如下的链接
http://localhost/index.php?test_controller/find/id/6
其中test_controller是控制器,find是调配函数,后面的id和6是传递参数
大家可以学习一下php的一些简单易用的MVC框架:codeigniter 和 thinkphp
分享到:
相关推荐
首先,文档提到了Spring框架的结构,特别是Spring核心模块——Spring-core,Spring-beans,Spring-context和Spring-context-support,以及Spring-expression模块。Spring-core模块提供了框架的基础,比如IoC容器和...
Spring MVC 是 Spring 框架的一个模块,主要用于构建 Web 应用程序。它提供了一种模型-视图-控制器(MVC)架构,简化了开发过程,使得开发者可以专注于业务逻辑而不必过于关心视图层的实现。在本文中,我们将探讨...
### 一种新的网络应用程序开发框架——MVC* #### 摘要 MVC(Model/View/Controller)设计模式自Smalltalk-80时代以来便成为软件设计领域中不可或缺的一部分。本文详细介绍了一种创新性的网络应用程序开发框架,该...
针对这一现状,《基于MVC框架下房产营销管理系统的设计与实现》一文提出了一个全新的解决方案——房产营销管理系统,该系统不仅融合了客户关系管理(CRM)的理念,还采用了目前市场上非常流行的MVC设计模式进行开发...
《PureMVC框架电子书》是一本专注于ActionScript编程中的重要框架——PureMVC的教程。这个框架在RIA(Rich Internet Application)开发中扮演着关键角色,尤其对于那些追求高性能和高效代码组织的开发者而言,它是一...
本文聚焦于基于MVC(Model-View-Controller)设计模式的校园BBS系统设计与实现,旨在探讨如何构建一个高效、易用且功能全面的校园网络社区。 #### MVC模式下的BBS系统架构 MVC设计模式将软件分为三个核心组件:...
总的来说,“JSP论文格式化系统——后台模块的设计与实现”是一个涵盖了JAVA JSP技术、数据库操作、文件处理、安全防范和用户交互等多个方面知识的综合实践项目。通过这样的项目,学生不仅可以掌握相关技术,还能...
通过以上步骤,我们可以构建起一个完整的基于 SSM 框架的开发环境,并实现基本的功能。在实际开发过程中,还需要根据具体的项目需求进行相应的调整和优化。此外,随着技术的发展,还会有更多的框架和工具加入进来,...
本文档将深入探讨如何设计和实现一个基于JSP的论文格式化系统,特别是其后台管理模块。这个系统的主要目标是为用户提供一个方便、高效的平台,用于管理和格式化学术论文,确保其符合特定的出版或学术机构的规范。 ...
1. **PureMVC**:这是一个轻量级的MVC框架,完全由ActionScript编写,适用于Flex、Flash、AS3等平台。PureMVC提供了一套标准的MVC组件实现,包括Model、View、Controller以及Mediator、Proxy和Command等角色,它们...
### 计算机房使用排课系统设计与实现——学生、教师查询模块及排课算法实现 #### 摘要解读 本系统旨在解决高校在安排计算机房使用时面临的复杂排课问题。其核心目标是根据学校的实验课程计划、教师资源、机房设备...
这篇毕业设计项目是关于构建一个基于Java技术栈的外卖系统,结合了前端的Vue.js框架和后端的Node.js环境。下面将详细讲解这个系统设计与实现中的关键知识点。 首先,我们来关注后端部分,这里主要使用的是Node.js,...
SSM(Spring、SpringMVC、MyBatis)框架是Java Web开发中常见的技术栈,本项目"基于SSM的物流管理系统的设计与实现"利用这三个框架构建了一个完整的物流管理平台。下面将详细介绍SSM框架的核心概念及其在物流系统中...
2. **Spring MVC**:Spring MVC是Spring的一个模块,专为构建Web应用程序而设计。它负责处理HTTP请求,将请求转发给控制器,控制器再调用服务层方法处理业务逻辑,最后返回视图进行展示。 3. **MyBatis**:MyBatis...
每个动作都对应一个特定的HTTP请求类型(如GET或POST),并返回一个视图结果或其它响应。 7. **过滤器(Filter)**:过滤器是可重用的组件,可以在整个应用程序或特定控制器和动作上应用。它们可以实现如授权、异常...
《毕业设计JSP论文格式化系统——后台模块的设计与实现》是一个基于JSP技术的项目,主要用于帮助学生和研究人员对学术论文进行格式化处理。该项目的后台模块是系统的核心部分,涉及了数据处理、用户交互、文件上传...
【ASP.NET毕业设计——ASP.NET多功能聊天软件的设计与开发——文字聊天文件传输模块(源代码+论文).zip】这个压缩包文件是针对ASP.NET技术的一个毕业设计项目,它涵盖了多种功能,包括文字聊天和文件传输。...
Java毕业设计——基于SSM的酒店管理系统设计与实现是一个典型的后端开发项目,适用于学习和实践Java Web技术。SSM框架是由Spring、Spring MVC和MyBatis三个组件组成的,是目前Java Web开发中广泛使用的集成框架。这...
《Java毕业设计——学校管理系统设计与实现》是一个典型的软件工程实践项目,主要涵盖了Java编程语言、数据库管理和Web应用开发等多个领域的知识。以下是该项目可能涉及的关键技术点和知识点的详细解析: 1. **Java...