自己动手写个小框架之一

     使用PHP进行开发的过程中,多少都有过从学习使用模板引擎(实现页面前端设计和后台业务逻辑代码清晰分开,便捷开发)到使用成熟的框架(如zend、symfony等)的学习经历,或者一些朋友直接在一些开源程序上进行二次开发(如国内的ecshop、discuz,国外的wordpress等),也都会有了解并学习其模板机制的过程。在这基础上,我们可以试着写个小东西玩玩。

     首先,我们需要大致了解一下smarty模板引擎和php的反射类。最新的smarty模板引擎可以从http://www.smarty.net/download 下载得到,这里我们使用Smarty-3.1.13.zip。下载后解压可以看到里面包含有demo和libs两个文件夹,把demo重命名为tpls。然后新建个项目,把tpls和libs拷贝到项目里,该项目便可以使用smarty作为模板引擎开发了。php反射类主要用于路由地址解析后,动态的加载controller控制类里对应的action方法。感兴趣的朋友可在http://www.php.net/manual/zh/class.reflectionclass.php里了解使用方法。其中项目里使用反射类为:

View Code
 1             //动态加载控制类
 2       $re = new ReflectionClass($this->classname . "Controller");
 3             //获取实例
 4             $controller = $re->newInstance();
 5             //调用action方法
 6             if(isset($this->method)){
 7                 $method = $re->getMethod($this->method);
 8             }else{
 9                 $method = $re->getMethod("indexAction");
10             }
11            //执行方法
12            $method->invoke($controller, $this->argsarr);

     做好两个准备后,在系列二中我们开始布局我们的小框架。

原文地址:https://www.cnblogs.com/dluf/p/3045149.html