为了账号安全,请及时绑定邮箱和手机立即绑定

$this的PHP自动绑定,是复制还是扩展?

$this的PHP自动绑定,是复制还是扩展?

PHP
幕布斯6054654 2023-04-21 17:18:31
当使用在类上下文中定义的匿名 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();


查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 53 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信