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

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的实现方法、以及引用的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值