我有 3 类 A、B 和 C,如下所示:
一个.php
<?php
abstract class A {
public static function getInstance() {
$child = get_called_class();
$instance = new $child;
}
}
?>
b.php
<?php
class B extends A {
const MY_CONSTANT = SomeClass::UNKNOWN_CONSTANT;
}
?>
c.php
<?php
include 'a.php';
include 'b.php';
B::getInstance();
//Here will got an error
//Fatal error: Class 'SomeClass' not found in a.php on line 5
?>
显然 B 类中存在错误,但是当我调用 B::getInstance() 方法时,该错误消息是“致命错误:第 5 行的 a.php 中找不到类 'SomeClass'”
我不明白为什么该错误消息没有告诉我“b.php on line 3”中的错误?如何知道真正的错误位置并对其进行调试?
编辑 1
我认为 PHP 应该在第 3 行的 b.php 中告诉我错误,否则我将很难调试。