【发布时间】:2019-03-30 07:22:34
【问题描述】:
我需要在方法中调用一个函数。此功能需要访问私有属性。这段代码:
class tc {
private $data=123;
public function test() {
function test2() {
echo $this->data;
}
test2();
}
}
$a=new tc();
$a->test();
返回以下错误:
致命错误:不在对象上下文中使用 $this 在...在线...
使用 PHP 5.6.38。我该怎么做?
【问题讨论】:
-
因为 test2 是测试方法中的函数,而不是 tc 对象中的方法。您不在对象范围内。
-
并且该属性是私有的,也就是说不能在对象之外访问。
-
不过,我该怎么做呢?
-
为什么不让
test2成为一个真正的方法而不是嵌套它? -
test2 包含在另一个文件中。