我需要在方法内部调用一个函数。此功能需要访问私有财产。这段代码:
class tc {
private $data=123;
public function test() {
function test2() {
echo $this->data;
}
test2();
}
}
$a=new tc();
$a->test();
返回以下错误:
致命错误:在不在...的行中的对象上下文中使用$ this
使用PHP 5.6.38。我该怎么办?
答案 0 :(得分:1)
不确定为什么要在方法内部声明一个函数,但是如果要这样做,则将私有成员作为参数传递给该函数。
<?php
class tc {
private $data=123;
public function test() {
function test2($data) {
echo $data;
}
test2($this->data);
}
}
$a=new tc();
$a->test();