在create_function

时间:2016-04-02 20:20:41

标签: php create-function

当我在$this内使用create_function时,我收到了错误

  

致命错误:不在对象上下文中时使用$ this

create_function('$model, $this', 'return $this->di->getStatus($model->getStatus)');

稍后我称之为

$function($model, $this);

我将$this传递给了该函数,但似乎无法正常工作。有办法解决它吗?

由于

1 个答案:

答案 0 :(得分:0)

经过数小时的调试和研究后,我发现我的代码被包装在一个函数中,所以最终的结果就像是

function($var1, $var2) { return create_function()}

这样就创建了一个闭包,$this不再属于我想要的范围。

关于闭包的更多信息: http://php.net/manual/ro/class.closure.php