PHP的MVC框架简单实现

PHP中的MVC

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

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

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

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

为什么使用MVC

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

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

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

MVC目录结构

/*
 ├─www                       # 网站根目录
 │  ├─controller             # 控制器目录
 │  │  ├─democontroller.php  # demo控制器
 │  ├─model                  # 模型目录
 │  │  ├─model.php       # model模型
 │  ├─view                   # 视图目录
 │  │  ├─index.php           # index视图
 │  ├─index.php              # 入口文件
 */

controller/democontroller.php

<?php  
class DemoController{
	function index($param){
		require('view/index.php');
		require('model/model.php');
		$model = new Model();
		$view = new Index();
		$data = $model->getData($param);
		$view->display($data);
	}
}

model/model.php

<?php
class Model {
	private $data = array(
		'title' => 'mvc test',
		'welcome' => 'Welcome MVC',
	);
	public function getData($key) {
		return $this->data[$key];
	}
}
view/index.php
<?php
class Index {
	public function display($output) {
		echo $output;
	}
}
入口文件index.php

<?php  
$c_str = $_GET['c'];
$c_name = $c_str.'controller';
$c_path = 'controller/'.$c_name.'.php';	// c=demo => controller/democontroller.php
$method = $_GET['a'];					//a=index
$param = $_GET['p'];					//p=welcome

require($c_path);
$controller = new $c_name;				//democontroller.php
$controller->$method($param);			//index("welcome");

调用显示model中的对应数据:

1.  http://127.0.0.1/index.php?c=demo&a=index&p=title

2.  http://127.0.0.1/index.php?c=demo&a=index&p=welcome




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值