您的位置:首页 > 编程语言 > PHP开发

codeigniter源代码分析 - 控制器类 Controller.php

2014-04-29 09:59 260 查看
Controller主要将自己设置成一个Super Class

将CI核心类全部绑定到自己身上 便于用户的controller继承自己后 调用核心类

get_instance 方便核心类里面对其他类的调用

源代码&&注释:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class CI_Controller {

// 将核心类都绑定到 $instance上面
private static $instance;
public function __construct()
{
// 绑定自己
self::$instance =& $this;
// is_loaded函数存储了所有实例化的core class 遍历数组将这些类绑定到Controller
foreach (is_loaded() as $var => $class)
{
$this->$var =& load_class($class);
}
$this->load =& load_class('Loader', 'core');
$this->load->initialize();// 初始化path
log_message('debug', "Controller Class Initialized");
}
// 返回super class
public static function &get_instance()
{
return self::$instance;
}
}

Code Tips:
静态的使用 、Super Class的实现方法、以及引用的使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息