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

CodeIgniter源码分析之Controller.php

2013-10-11 17:47 453 查看
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
* CodeIgniter Application Controller Class
*/
class CI_Controller {

private static $instance;

/**
* Constructor
*/
public function __construct()
{
//通过self::$instance实现单例化,在第一次实例时,这个静态变量实质就是引用了这个实例。
//以后都可以通过&get_instance();来获得这个单一实例。
self::$instance =& $this;

//把目前程序已经加载的所有的组件都给这个超级控制器来掌管。
foreach (is_loaded() as $var => $class)
{
$this->$var =& load_class($class);
}

//给超级控制器加载Loader组件,这个组件是它的好助手,很多时候你会经常用到$this->load->xxx()的形式加载某个东西,
//这个load就是控制器被构造的时候就伴随存在的。
$this->load =& load_class('Loader', 'core');

//初始化Loader组件,详细Loader.php
$this->load->initialize();

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

public static function &get_instance()
{
return self::$instance;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息