$ php --version
PHP 5.5.4 (cli) (built: Sep 19 2013 17:10:06)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
以下代码(类似于https://bugs.php.net/bug.php?id=49543中的示例):
class Foo
{
public function bar()
{
return function() use ($this)
{
echo "in closure\n";
};
}
}
失败:
PHP Fatal error: Cannot use $this as lexical variable
然而,根据 PHP 文档和 Rasmus Lerdorf 对该错误报告的评论,在 PHP 5.4 中添加了在匿名函数中使用 $this。我究竟做错了什么?