spl_autoload_register 加载 类 时失败

spl_autoload_register fails when load classes

所以我的项目结构如下:

- Project
   - php
      - classes
          - Config.php
          - DB.php
      - core
          - init.php
      - index.php

在我的 core/init.php 文件中,我使用 spl_autoload_register() 来加载不同的 classes:

spl_autoload_register(function ($class) {
    require_once 'classes/' .$class. '.php';
});

出于测试原因,在 index.php 中,我需要我的 init.php 文件并尝试一种方法我的数据库 class:

require_once 'php/core/init.php'; 
$_db = DB::getInstance();

但我什么也没得到。我确定问题是 PHP,因为当我在 index.php 中只有 html 时,一切正常。

问题出在哪里?我假设它来自 spl_autoload_register() ,不知何故无法工作。

将您的自动加载器更改为:

spl_autoload_register(function ($class) {
    require_once __DIR__ . '/../classes/' .$class. '.php';
});

您确定它包含来自正确位置的文件。