CI框架源码完全分析之核心文件(超级控制器)Controller.php

CI中所有的controller都必须继承超级控制器才能使用CI的功能:

/**
 * CI超级控制器,controller所有文件都得继承超级CI_Controller
 */
class CI_Controller {

        //定义保存单例的静态成员变量
    private static $instance;

    //构造函数
    public function __construct()
    {
                //实现单例,在第一次实例时,这个静态变量实质就是引用了这个实例。
        self::$instance =& $this;

                //is_load()是CodeIgniter.php中记录加载类名的数组
                //这里将所有加载的组件都给超级控制器
        foreach (is_loaded() as $var => $class)
        {
            $this->$var =& load_class($class);
        }

                //加载及初始化loader组件,详细见loader.php
        $this->load =& load_class('Loader', 'core');
        $this->load->initialize();

        log_message('debug', "Controller Class Initialized");
    }

        //创建一个用来实例化对象的方法
        /*
         CodeIgniter.php中有这个函数
         function &get_instance()
     {
        return CI_Controller::get_instance();
     }
         后面就可以使用&get_instance来获得这个单一实例
         */
    public static function &get_instance()
    {
        return self::$instance;
    }
}

转载注明地址: http://www.phpddt.com/php/ci-controller.html 尊重他人劳动成果就是尊重自己!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值