这个实例虽然简单,但是充分体现了 MVC 模式对分离[表现层]和[业务逻辑层]带来的帮助。 首先呢,还是有一个调度器,负责根据 HTTP 请求决定要调用的控制器:
代码如下
<?php
require ( 'controller/' . preg_replace ( '/[^a-z0-9_]+/i' , '' , $_GET [ 'controller' ] ) ) ;
?>
控制器:
代码如下
<?php
// 从 Model 获取数据
require ( 'model/m1.php' ) ;
$m = new m1 ( ) ;
$data = $m -> getData ( ) ;
// 构造视图,显示输出
require ( 'view/v1.php' ) ;
$v = new v1 ( ) ;
$v -> assign ( $data ) ;
$v -> display ( ) ;
?>
模型:
代码如下
<?php
{
function getData ( ) {
return 'hello' ;
}
}
?>
视图:
代码如下
<?php
{
var $data ;
function assign ( $data ) {
$this -> data = $data ;
}
function display ( ) {
echo $this -> data ;
}
}
?>