PHP静态匿名函数真的有效吗?
2022-08-31 00:20:50
我正在尝试学习PHP,现在我陷入了“静态匿名函数”的困境。
我在教程中发现了这一点(http://www.slideshare.net/melechi/php-53-part-2-lambda-functions-closures-presentation)
“面向对象
- Lambda 函数之所以是闭包,是因为它们会自动绑定到在其中创建它们的类的作用域。
- '
$this
' 在作用域中并不总是必需的。- 删除“”可以节省内存。
$this
- 您可以通过将 Lambda 函数声明为静态来阻止此行为。
此代码有什么问题?
我收到此错误:
解析错误:解析错误,期望在第 11 行的 C:\wamp\www\z-final\a.php中出现“T_PAAMAYIM_NEKUDOTAYIM”
为什么这个代码行不起作用“返回静态函数(){var_dump($this);};”?
class foo
{
public function getLambda()
{
return function(){var_dump($this);};
}
public function getStaticLambda()
{
return static function(){var_dump($this);};
}
}
$foo = new foo();
$lambda = $foo->getLambda();
$staticLambda = $foo->getStaticLambda();
$lambda();
$staticLambda();