也许PHP评估范围的事情?

时间:2012-12-10 20:13:36

标签: php eval

我遇到以下代码的问题。我只是猜测这是一个范围问题。

public function run() {

    return eval('$this->config();');
    // This will return null.

    return $this->config();
    // This will return my config array right.

}

在有人要求之前:

  1. 测试时,并非两个返回都是“有效”。
  2. 我知道eval是邪恶的,但我正在为管理员构建某种终端来运行PHP代码。
  3. 有没有人对这个终端事有任何建议? (我的基本问题仍然是评估......)

1 个答案:

答案 0 :(得分:6)

eval返回NULL,因为这是它的假设。从the documentation page开始:

  除非在计算代码中调用eval(),否则

return将返回NULL,在这种情况下,将返回传递给return的值。