CodeIgniter学习笔记(九)——扩展控制器

CI的控制器默认继承自CI_Controller,如果要扩展控制器,需要定义一个从CI_Controller派生的控制器,所有的自定义控制器都继承这个新控制器。

在application/core目录下,有与system目录下类似的目录结构,比如core、helpers、language、libraries目录,扩展控制器就是在application/core目录下自定义控制器,该控制器类从CI_Controller继承,类似的,如果要扩展系统的功能,就在application下的对应目录新增自定义类,从系统类继承。

<?php
    class My_Controller extends CI_Controller
    {    
        function __construct()
        {
            parent::__construct();
            echo "自定义控制器";
            // 权限验证...
            // 登录验证...
        }
    }
?>

之后,将所有添加的控制器都从MY_Controller派生,通过在MY_Controller中重写父类方法来实现扩展控制器。

在application/config/config.php文件中,有这样一个配置项

$config['subclass_prefix'] = 'MY_';
CI在查找扩展类,会根据这里的前缀去查找并包含定义类文件,此处前缀不区分大小写
posted @ 2015-07-10 11:17  iamsupercola  阅读(271)  评论(0编辑  收藏  举报