3
我想了解CodeIgniter的核心基础知识,如加载类。我被困在此:了解PHP参考和静态
function &load_class($class, $directory = 'libraries', $prefix = 'CI_')
{
static $_classes = array();
// Does the class exist? If so, we're done...
if (isset($_classes[$class]))
{
return $_classes[$class];
}
...
... // more code
...
}
,然后他们加载类是这样的:
$BM =& load_class('Benchmark', 'core');
所以我understandig的问题是,为什么之前的函数名称使用&,为什么是静态的使用和为什么'= & '被使用..我认为他们有一些共同点。 每次使用load_class函数时,$ _classes是否被覆盖为空数组?
谢谢!
这正是我想听到的,谢谢! 因此$ _classes将被初始化一次,因为每次使用'=&',实际上都使用相同的实例? – smotru
是的,这个变量会保持它在函数范围内的状态。 –