PHP OOP MVC错误,父级“无法调用构造函数”,但父类具有构造函数

我遇到了一个奇怪的问题,浪费了半天时间试图弄清楚。

我有一个正在从事的MVC OOP项目。它具有一个DB父类,以及从DB父类扩展的大约10个模型类。调用父构造函数可完美地用于9个子模型类,但是在实例化该子对象时,十个子模型类中只有一个会踢出这种通用的“无法调用构造函数”错误。

父数据库类代码:

class DB {

    private static $_instance=null, $_site_charset;
    protected $_db_prefix, $_query, $_error=false, $_result, $_count=0, $_last_insert_id=null;
    public static $curr_db_version, $installed_db_version;


    public function __construct( ) {
        $this->curr_db_version = $this->get_db_version();
        $this->installed_db_version = $this->get_installed_db_version();
        $this->_db_prefix = $this->_get_db_prefix();
        $this->_site_charset = $this->_get_site_charset();
    }
    (DB class methods below here)
}

子模型类代码:

class ModelReports extends DB {
    public static $table_name;

    public function __construct(){
        parent::__construct();
        $this->table_name = $this->_db_prefix.'reports';
    }    
}

上面的代码非常适合9个子类(只需将名称从“ Reports”更改为它们各自的类名)。

仅对一个子类调用父构造函数会失败。但是,我可以实例化数据库类,并通过以下代码完美使用数据库类:

class ModelReports extends DB {
    public static $table_name;

    public function __construct(){
        $db = new DB();
        $this->table_name = $db->_db_prefix.'reports';
    }    
}

其他一些事情可能会有所帮助,因为我迷失了尝试使ONE类像其他类一样工作的其他方法:

PHP版本-7.3.17

使用spl_autoload_register加载类文件(效果很好)。

对所有10个类文件和父DB类文件具有相同的文件(644)和文件夹(755)权限。

同一用户和组拥有文件和文件夹。

需要帮助请叫我。提前致谢!