PHP视图层的典型实现和有关mvc的其他常见做法
1、功能:
展示在控制器中“获取”到的数据;
视图中要展示的数据:
普通标量数据:
直接输出: echo $data1;
数组数据:
一维数组:
echo $arr[‘id’];
echo $arr[‘age’];
.....
二维数组:
foreach( $arr as $rec ){
echo $rec[‘id’];
echo $rec[‘age’];
.....
}
对象数据:
echo $obj->age;
echo $obj->name;
echo $obj->edu;
.......
1、前端控制器(请求分发器,站点入口文件):
其实,就是index.php这个文件。
他的作用是:
通过c参数,来决定:使用哪个控制器。

2、其中,控制器类文件中,就再也不需要“额外”的代码,而是,都是用来这个前端控制器(index.php)来代替,比如:

3、注意:
这些控制器,和模型的一些有规律统一做法,其实都得益于他们在整体结构和命名上的一致:
控制器命名:
类名: XXXController
文件名:XXXController.class.php 是一个独立的类文件
模型命名:
类名: XXXModel
文件名:XXXModel.class.php 是一个独立的类文件
这样做了之后,原来的所有“链接”,都要再加上一个“c”参数,以表明该链接(请求)是哪个控制器的,比如:
(页面的导航链接)

4、又比如:

5、对比:商品列表中:

6、再来:

7、再来:

8、等等。
前端控制器(请求分发器)的原理总结:

9、所有这些控制器的方法,都习惯上被称为“动作”,并因此,常常,将方法名写成这种形式:
class 控制器名{
function XX1Action(){.....}
function XX2Action(){.....}
.......
}
于是,继续将我们之前的控制器的方法的名字都统一修改为:


10、并对应在前端控制器(index.php)中,修改一点点:
