用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3189|回复: 0
收起左侧

[中级] CodeIgniter 源码分析之 Controller.php

[复制链接]
发表于 2013-4-10 17:49:01 | 显示全部楼层 |阅读模式
原文: http://blog.163.com/wu_guoqing/b ... 018201281663649361/
作者: Calix

PHP复制代码
<?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;
 }
}
 
复制代码

本版积分规则