gpt4 book ai didi

PHP - 回调函数中的 self、static 或 $this

转载 作者:IT王子 更新时间:2023-10-29 00:04:04 27 4
gpt4 key购买 nike

是否可以在 PHP 的匿名回调中访问引用为 selfstatic$this 的类/对象?就像这样:

class Foo {
const BAZ = 5;
public static function bar() {
echo self::BAZ; // it works OK
array_filter(array(1,3,5), function($number) /* use(self) */ {
return $number !== self::BAZ; // I cannot access self from here
});
}
}

有没有什么方法可以使用 use(self) 子句使它的行为与普通变量一样?

最佳答案

用 PHP5.4 就可以了。目前还不可能。但是,如果您只需要访问公共(public)属性、方法

$that = $this;
function () use ($that) { echo $that->doSomething(); }

对于常量,没有理由使用限定名

function () { echo Classname::FOO; }

关于PHP - 回调函数中的 self、static 或 $this,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9446291/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com