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,因此不应该导致问题,如果是,则不应该返回该错误。
答案 0 :(得分:1)
您的最后一段代码可以使用,但是当您使用call_user_func()
调用使用$this
的方法时,您需要传递一个实例而不是类名,即
call_user_func([new C, 'foo']);