php – 如何从lambda函数访问父对象?

我有一个递归lambda函数在我的对象之一,它需要访问对象的mysqli连接。这个尝试

$recfunc = function($id, $name) use($this) {

产生不合理的致命错误

Fatal error: Cannot use $this as lexical variable in C:\Users\Codemonkey1991\Desktop\workspace\melior\objects\databasemanager.php on line 88

有人能给我几个指针吗?

编辑:只是为了澄清上下文,我试图在另一个函数内创建这个lambda函数。

因为闭包本身就是对象,所以需要将$ this赋给一个局部变量,如:

$host = $this;
$recfunc = function($id, $name) use ($host) { ...

转载注明原文:php – 如何从lambda函数访问父对象? - 代码日志