PHP中MVC思想过程详解(四)
mvc第四版文件如图所示:
第四版主要是增加smarty模板引擎。lib是smarty函数库,runtime是编译目录,会把需要编译的html解析后放入这个目录文件下。
admin.php代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php /** * * @author LiZeQiao <674531003@qq.com> * @version */ //入口文件 //实例化对象 //$obj=new GoodsController(); //接收参数,来确定当前要实例化哪一个类 $controller=$_GET['c'];//Goods 、 Atricle //包含类文件(控制器文件) require './libs/Smarty.class.php'; //Smarty require './Controller.php'; //控制器的基类 require './'.$controller.'Controller.php'; //GoodsController.php //实例化对象(控制器对象) $className=$controller.'Controller'; // GoodsController $obj=new $className(); //调用控制器的入口方法,将控制权,交给控制器 $obj->run(); |
在Controller.php总基类继承smarty引擎。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<?php /** * * @author LiZeQiao <674531003@qq.com> * @version */ //控制器基类 class Controller extends Smarty{ //入口方法 public function run(){ //配置Smarty $this->_initSmarty(); //决定调用哪个动作 $a=$_GET['a']; if(method_exists($this, $a)){ $this->$a(); }else{ die('没有'.$a.'方法'); } } //配置Smarty private function _initSmarty(){ //模板目录 $this->setTemplateDir('./view/'); //编译目录 $this->setCompileDir('./runtime/view_c/'); //缓存目录 $this->setCacheDir('./runtime/cache/'); } } |
网盘下载地址:http://pan.baidu.com/s/1sjpZ1sp
- PHP中MVC思想过程详解(三)
- PHP中MVC思想过程详解(五)