理解codeigniter load_class函数中的静态$ _class变量声明

时间:2015-07-31 10:59:57

标签: php codeigniter

我正在阅读CodeIgniter的核心功能,我对变量的声明有疑问

static $_classes = array();

as pointed out by this post,变量是缓存类对象。

我怀疑是因为变量是在函数范围内声明的,

每次调用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
}

1 个答案:

答案 0 :(得分:1)

manual中所述,静态变量(仅)在函数的第一次调用处初始化。