我有一個結構,像這樣:從不同的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