baiyuxiong 发表于 2010-4-29 20:54:52

CI源码load_class疑惑,请教

我看到CI里,common.php里,有这么一句:
$objects[$class] =& instantiate_class(new $name());

而instantiate_class,很简单:

function &instantiate_class(&$class_object)
{

return $class_object;
}


我不明白,为什么要用instantiate_class函数,而不是直接:
$objects[$class] =new $name();
谢谢~~

xiaoniao 发表于 2010-4-29 23:31:23

我猜可能跟这个& 引用符号有关

得先把引用这个东西弄清楚先

zhuzuoling 发表于 2010-4-30 09:27:16

这是为了向后扩展(php4)
因为php4在实例化对象的时候相当php5的__clone()方法

function &instantiate_class(&$class_object)
{

return $class_object;
}而这个函数括号中&是引用原始对象函数名前&是返回一个可修改实例(也就是地址)

saturn 发表于 2010-4-30 10:15:08

你的答案在这里

http://codeigniter.org.cn/forums/viewthread.php?tid=4893

请看我的签名。

baiyuxiong 发表于 2010-4-30 14:56:39

回复 4# saturn


   呵呵,没想到这么冷门的问题居然有人问过。
页: [1]
查看完整版本: CI源码load_class疑惑,请教