在 create_function 上使用 $this 时出错
error using $this on create_function
当我在 create_function
中使用 $this
时出现错误
Fatal error: Using $this when not in object context
create_function('$model, $this', 'return $this->di->getStatus($model->getStatus)');
以后我这样称呼它
$function($model, $this);
我将 $this
传递给函数,但似乎不起作用。有办法绕过它吗?
谢谢
经过几个小时的调试和研究,我发现我的代码被包裹在一个函数中,所以最终结果类似于
function($var1, $var2) { return create_function()}
这样就创建了闭包,$this
不再在我想要的范围内。
更多关于闭包的信息:
http://php.net/manual/ro/class.closure.php
当我在 create_function
中使用 $this
时出现错误
Fatal error: Using $this when not in object context
create_function('$model, $this', 'return $this->di->getStatus($model->getStatus)');
以后我这样称呼它
$function($model, $this);
我将 $this
传递给函数,但似乎不起作用。有办法绕过它吗?
谢谢
经过几个小时的调试和研究,我发现我的代码被包裹在一个函数中,所以最终结果类似于
function($var1, $var2) { return create_function()}
这样就创建了闭包,$this
不再在我想要的范围内。
更多关于闭包的信息: http://php.net/manual/ro/class.closure.php