CodeIgniter core/Controller.php

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * CodeIgniter
 *
 * An open source application development framework for PHP 5.1.6 or newer
 *
 * @package CodeIgniter
 * @author ExpressionEngine Dev Team
 * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
 * @license http://codeigniter.com/user_guide/license.html
 * @link http://codeigniter.com
 * @since Version 1.0
 * @filesource
 */


// ------------------------------------------------------------------------
//控制器类
/**
 * CodeIgniter Application Controller Class
 *
 * This class object is the super class that every library in
 * CodeIgniter will be assigned to.
 *
 * @package CodeIgniter
 * @subpackage Libraries
 * @category Libraries
 * @author ExpressionEngine Dev Team
 * @link http://codeigniter.com/user_guide/general/controllers.html
 */
class CI_Controller {


private static $instance;


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

// Assign all the class objects that were instantiated by the
// bootstrap file (CodeIgniter.php) to local class variables
// so that CI can run as one big super object.
//实例化加载过的类
//把目前程序已经加载的所有的组件都给这个超级控制器来掌管。
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;
}
}
// END Controller class


/* End of file Controller.php */
/* Location: ./system/core/Controller.php */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值