2022年01月05日整理发布:在PHP中如何为匿名函数指定this|当前观察

现如今大家都会选择在网络上汲取相关知识内容,比如2022年01月05日整理发布:在PHP中如何为匿名函数指定this,为了更好的解答大家的问题,小编也是翻阅整理了相应内容,下面就一起来看一下吧!


(相关资料图)

让我们来谈谈如何在PHP中为匿名函数指定这个。相信朋友们应该很关心这个话题。现在我们来谈谈如何在PHP中为朋友的匿名函数指定这个。边肖还收集了关于如何在PHP中为匿名函数指定这一点的相关信息。我希望你看到后会喜欢。

JS中闭包匿名函数的一个典型问题是将其与一个this作用域绑定。其实这个问题在PHP中也存在,比如下面的代码:

$ func=function($ say){ 0

echo $this-name,":",$say,PHP _ EOL

};

$ func(" good ");//宿命论错误:不在对象上下文中时使用: uncaughterror3360在这个匿名函数中,我们使用$this-name来获取当前作用域中的$name属性,但是这个$this是谁呢?我们还没有定义它,所以我们将在这里直接报告一个错误。错误消息是:$this被使用,但是没有对象上下文,也就是说,没有指定$this引用的范围。

1.bindTo方法绑定$this

$func=$func-bindTo($lily,‘Lily’);

//$func=$func-bindTo($lily,lily : CLaSS);

//$func=$func-bindTo($lily,$ lily);

$func1(“酷”);这一次,它可以正常输出。BindTo方法是复制一个当前闭包对象,并用$this作用域和类作用域绑定它。

$lily参数是一个对象$newthis参数,即为复制的匿名函数指定$this。

“Lily”将绑定一个新的类作用域,该作用域表示一个类型,并确定在这个匿名函数中可以调用哪些私有和受保护的方法。

如果我们不给出这个参数,那么我们就不能访问这个private的$name属性:

$ func 1=$ func-Bindto($ lily);

$ func 1(" cool 2 ");//致命错误:未命中错误:无法访问私有财产Lily :3360 $ name2。调用方法绑定$this

$func-call($lily," well ");//lily:好了,PHP中匿名函数就是这么指定的!

来源:php中文网站

标签: 匿名函数 让我们来 一个新的 受保护的

X 广告
X 广告

Copyright ©  2015-2022 华东舞蹈网版权所有  备案号:京ICP备2022016840号-41   联系邮箱:2 913 236 @qq.com