我尝试调用Test3函数,但返回此错误:"致命错误:调用未定义的函数".
这是一个例子:
class Test {
public Test1(){
return $this->Test2();
}
private Test2(){
$a = 0;
return Test3($a);
function Test3($b){
$b++;
return $b;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何调用Test3函数?
PHP中的所有函数和类都具有全局范围 - 即使它们是在内部定义的,也可以在函数外部调用它们,反之亦然.
使用闭包
$test = new Test();
echo $test->Test1();
Run Code Online (Sandbox Code Playgroud)
修改后的类
class Test {
public function Test1() {
return $this->Test2();
}
private function Test2() {
$a = 0;
$Test3 = function ($b) {
$b ++;
return $b;
};
return $Test3($a);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |