我刚刚在 PHP 编程时遇到了一个错误。问题是我在
spl_autoload_register
文件中使用了 init.php
但无法加载类文件夹中的类。我确保类文件夹中的文件内的类与文件名具有相同的名称。如果我不在每个文件上使用 spl_autoload_register
和 include_once
,它就可以工作(我手动注释了included_once 文件)。请给我一个解决方案。这是我的目录结构:
这是
init.php
文件中的代码:
<?php
include_once dirname(__DIR__) . "/inc/" . "config.php";
// include_once dirname(__DIR__) . "/classes/" . "database.php";
// include_once dirname(__DIR__) . "/classes/" . "user.php";
// include_once dirname(__DIR__) . "/classes/" . "student.php";
// Auto load class
spl_autoload_register(function ($class) {
include_once dirname(__DIR__) . "/classes/" . strtolower($class) . ".php";
});
?>
我尝试更改可用路径,但它似乎没有按照我想要的方式工作,我还想也许我的路径错误
我刚刚发现,当使用
spl_autoload_register
时,你需要初始化一个对象以便程序实际加载。