MVC
2016-07-30 14:59
337 查看
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写
一个简单的例子就是
当一个网站打开后,由用户(客户端)点击一篇文章(也就是视图View)后,将发送HTTp协议请求到对应的控制器(control)中对应的一个方法里,然后由控制器调用对应的model文件中对应的方法(通常model文件我们一般用来处理逻辑上的问题,比如说连接数据库之类的操作),然后有model返回一个执行完毕结果集给控制器,然后控制器来分配到对应的视图View文件。
下面是我们后台管理系统文件组织的例子:
![](https://img-blog.csdn.net/20160730145914246)
详细的例子:
![](http://www.php186.com/upload/fck/indexssss.jpg)
代码示例开始:
1、入口文件 index.php
<?php
$module = $_REQUEST['c'];
$control = (!empty($control)?$control:'home');
$action = $_REQUEST['a'];
$action = (!empty($action)?$action:'index');
$file = $control.'.php';
if (is_file($file))
{
require $control.'.php';
$class = ucfirst(strtolower($control));
$method = strtolower($action)."Action";
$obj = new $class();
$output = $obj->$method();
}
?>
2、控制器 home.php
<?php
include 'model.php';
class Home
{
function __construct()
{
}
function indexAction()
{
$model = new Model();
$exam = $model->GetIndex();
var_dump($exam);
}
function test1Action()
{
$model = new Model();
$exam = $model->GetTest1();
var_dump($exam);
}
}
?>
3、Modle文件 model.php
<?php
class Model
{
public function GetIndex()
{
return 'index';
}
public function GetTest1()
{
return 'test1';
}
}
?>
4、视图文件 view.html
<a href="index.php?c=home&a=index">home->index</a>
<a href="index.php?c=home&a=test1">home->test1</a>
一个简单的例子就是
当一个网站打开后,由用户(客户端)点击一篇文章(也就是视图View)后,将发送HTTp协议请求到对应的控制器(control)中对应的一个方法里,然后由控制器调用对应的model文件中对应的方法(通常model文件我们一般用来处理逻辑上的问题,比如说连接数据库之类的操作),然后有model返回一个执行完毕结果集给控制器,然后控制器来分配到对应的视图View文件。
下面是我们后台管理系统文件组织的例子:
详细的例子:
![](http://www.php186.com/upload/fck/indexssss.jpg)
代码示例开始:
1、入口文件 index.php
<?php
$module = $_REQUEST['c'];
$control = (!empty($control)?$control:'home');
$action = $_REQUEST['a'];
$action = (!empty($action)?$action:'index');
$file = $control.'.php';
if (is_file($file))
{
require $control.'.php';
$class = ucfirst(strtolower($control));
$method = strtolower($action)."Action";
$obj = new $class();
$output = $obj->$method();
}
?>
2、控制器 home.php
<?php
include 'model.php';
class Home
{
function __construct()
{
}
function indexAction()
{
$model = new Model();
$exam = $model->GetIndex();
var_dump($exam);
}
function test1Action()
{
$model = new Model();
$exam = $model->GetTest1();
var_dump($exam);
}
}
?>
3、Modle文件 model.php
<?php
class Model
{
public function GetIndex()
{
return 'index';
}
public function GetTest1()
{
return 'test1';
}
}
?>
4、视图文件 view.html
<a href="index.php?c=home&a=index">home->index</a>
<a href="index.php?c=home&a=test1">home->test1</a>
相关文章推荐
- linux基础命令2
- 算法:顺序查找
- Java设计模式的六大原则
- 相同vlan之间的相互访问
- Android App bar详解
- 一个简单的错误,浪费我一个上午的时间
- Https握手协议以及证书认证
- 判断满二叉树中有不同子树的节点有多少个
- [AIZU1361] Deadlock Detection [2015 ACM-ICPC Asia Tsukuba Regional Contest F]
- 框架学习模板
- RDMSR--读MSR
- UISegmentedControl搭配UIScrollView使用
- Snmp linux
- 基于Spring实现可跨域访问的REST服务
- WRMSR--写MSR
- JSON解析之原生解析
- SYSEXIT——快速系统调用的快速返回
- 编写常见C语言字符串函数
- 【Debug】_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));
- "java.io.IOEXception:couldn't create PTY"