我有以下PHP文件,它们在包含时都使用include_once:
- FileA
- FileB
- FileC
- FileX
FileB包括:——FileA——FileC
FileC包括:——FileA
FileX包括:——FileB——FileA——FileC
FileC,它有一个继承自FileA中定义的类的对象,没有看到这个类,我得到以下错误:致命错误:类'TheBaseObject'在/(my path)/FileC.php第6行
以前,FileB不包括FileC,它可以工作。如果我将FileX中的包含顺序更改为以下内容,它将起作用:——FileA——FileB——FileC
不幸的是,在我的webservice中有很多FileX,似乎改变顺序并不是解决问题的正确方法。为什么FileC没有看到FileA?解决这个问题的正确方法是什么?
由于某些原因,更改包含使用DIR变量来修复它。它们现在看起来像这样:
include_once __DIR__ .'/FileA.php';
希望对别人有所帮助。