我有一个结构,像这样:从不同的include_once文件调用函数时发生错误?
main.php
include_once
func1.php
include_once
func2.php
这两个文件include
倒是里面main.php
。
当我在finc2.php
内拨打function switchboard()
func1.php
时,出现以下错误。
Fatal error: Uncaught Error: Call to a member function switchboard() on null in func2.php:16
Stack trace:
#0 main.php(60): decode_func('{"auth":"...)
#1 {main} thrown in func2.php on line 16
线16是我打电话从func1.php
在函数内部func2.php
- switchboard() {}
。除了include
ing func1.php
里面有func2.php
吗?有没有办法解决这个问题?
func2.php
function decode($var) {
if() {return $var;}
else { $erm->switchboard('101', $var); }
}
func1.php
$erm = new CLASS() {
function switchboard($id, $var) {
if() {}
else {}
}
}
如果这不是遗留代码,请考虑使用框架或至少编写器以更现代的方式管理您的应用程序。 – Halfstop
我在'main.php'里面设置了'Exception'',这个''在'func1.php'中被调用。如果'func1.php'在'func2.php'里面,它们还能工作吗? @HankyPanky – Borsn
@HankyPanky为了未来的可扩展性,如果有第三个文件说'func3.php' ...包含在main中呢?有没有更优雅和多功能的方式来组织这个? – Borsn