针对17joys控制器的扩展
时间:2010-04-14 来源:17joys
http://www.17joys.com/php/cms/cms-7-86.html针对17joys控制器的扩展
在我们编写代码的时候,尽量要多考虑一些以后可能会附带的功能要求,为这些功能留下编写的余地,这样就能增加扩展性,我在查看ThinkPHP源码的时候发现,每次控制器初始化的时候都会去调用一个_initialize()方法,那我就思考,以后肯定会针对所有的控制器模块定义公共方法,所以我考虑扩展Action类,把这些公共方法都放进去,这就产生了CommonAction类。
CommonAction.class.php文件
<?php class CommonAction extends Action { function _initialize(){ header("Content-Type:text/html; charset=utf-8"); } } ?>
之前的IndexAction类文件修改为
<?php class IndexAction extends CommonAction { //从CommonAction继续扩展继承 public function index(){ $this->display(); } } ?>
这样以后我就可以把更多的功能方法放到CommonAction类中,譬如权限验证等操作
【注】:ThinkPHP的Action类源码
39 40 41 42 43 44 45 46 |
public function __construct() { //实例化视图类 $this->view = Think::instance('View'); //控制器初始化 if(method_exists($this,'_initialize')) $this->_initialize(); } |
作者:马明@PHP培训 修订1.0 2010-03
乐学PHP学院是国内专业的PHP培训机构,天津最好的PHP培训机构,拥有完整全面的PHP培训课程体系,使用自行开发的PHP内容管理系统作为授课案例,真实项目教学,还提供PHP教程、PHP视频、PHP人才、PHP开发等服务!
本文乐学PHP版权所有,未经批准转载必究。
相关阅读 更多 +