【发布时间】:2018-12-04 07:06:27
【问题描述】:
我正在编写一些我想使用spl_autoloader_register() 函数加载的类。我创建了一个名为 autoloader.php 的文件,并将它保存在我保存项目所需的所有类的文件夹中。
因此,为了验证它是否有效,我在测试 php 页面中使用 require_once 加载了它,但不幸的是控制台日志显示错误输出 PHP Warning: include_once(lib\DataManager.php): failed to open stream: No such file or directory。
测试文件位于托管所有课程的同一文件夹中,是否因为此动机而出现此错误?
这是自动加载器代码
<?php
function autoloader($className){
include_once($className . '.php');
}
spl_autoload_register('autoloader');
?>
这是我尝试从测试页面实例化它的方式
<?php
require_once 'autoloader.php';
require_once 'config.php';
use lib\DataManager as DataManager;
$dataManager = new DataManager($db);
?>
【问题讨论】: