当使用在类上下文中定义的匿名 PHP 函数时,文档说“当前类自动绑定到它,使其在$this函数范围内可用”。但是我有点困惑这意味着什么,这是否意味着匿名函数有一个类的副本或者它现在是类的一部分?那么,如果我使用匿名函数对类进行更改,它们将保留在定义匿名函数的原始类中吗?
1 回答
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
$thisPHP中匿名函数内部的变量不是拷贝,是绑定,所以如果你改变了匿名函数内部的内容$this,父类就会受到影响。
您可以检查它是否运行此代码段:
class Foo
{
private $test = 1;
function __construct()
{
$func = function() {
$this->test = 2;
};
$func();
var_dump($this);
}
};
new Foo();
- 1 回答
- 0 关注
- 70 浏览
添加回答
举报
0/150
提交
取消