gpt4 book ai didi

php - 使用命名空间访问扩展类中的 $this

转载 作者:行者123 更新时间:2023-12-04 17:03:51 26 4
gpt4 key购买 nike

B.php:

class B extends A {
function foo() {
$this->get['id'];
}
}

C.php:
namespace NAME;
class C extends B {
function foo() {
$b = new \B();
$b->get['id'] = $params['userToken'];
}
}

以上工作,但我如何访问 $this 而不是创建一个新的实例 B ?

如果我尝试像这样访问它:
namespace NAME;
class C extends B {
function foo() {
$this->get['id'] = $params['userToken'];
}
}

它返回错误: Using $this when not in object context . $这是 protected但是当 C 扩展 B 时,它不应该导致问题,如果确实如此,也不应该返回该错误。

最佳答案

您的最后一段代码将起作用,但是当您使用 call_user_func() 时调用使用 $this 的方法您需要传递一个实例而不是类名,即

call_user_func([new C, 'foo']);

关于php - 使用命名空间访问扩展类中的 $this,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775229/

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