无法使用 spl_autoload_register 加载 PHP 中的类

问题描述 投票:0回答:1

我刚刚在 PHP 编程时遇到了一个错误。问题是我在

spl_autoload_register
文件中使用了
init.php
但无法加载类文件夹中的类。我确保类文件夹中的文件内的类与文件名具有相同的名称。如果我不在每个文件上使用
spl_autoload_register
include_once
,它就可以工作(我手动注释了included_once 文件)。请给我一个解决方案。这是我的目录结构:

This is my project folder structure

这是

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"; 
});
?>

我尝试更改可用路径,但它似乎没有按照我想要的方式工作,我还想也许我的路径错误

php file path autoload spl-autoload-register
1个回答
0
投票

我刚刚发现,当使用

spl_autoload_register
时,你需要初始化一个对象以便程序实际加载。

© www.soinside.com 2019 - 2024. All rights reserved.