我正在检查CodeIgniter的核心功能,我对变量
的声明有疑问static $_classes = array();
正如这篇文章指出的,这个变量是用来缓存类对象的。
我怀疑是因为变量是在函数范围内声明的,
是不是每次调用load_class函数时都应该初始化?
函数应该是这样的
static $_classes = array(); //declared outside the scope
function load_class (@prams-----) {
// inner workings
}
的
function load_class(@params---) {
static $_class = array(); // declared inside the scope
//inner workings
}
如手册中所述,静态变量(仅)在第一次调用函数时初始化。