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';
});
您确定它包含来自正确位置的文件。
所以我的项目结构如下:
- 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';
});
您确定它包含来自正确位置的文件。