PHP xampp 上的自动加载命名空间

PHP autoloading namespace on xampp

我正在尝试在 xampp 上的命名空间下自动加载 php class。但由于某种原因,它无法在其绝对路径下找到 class。

这是我的自动加载器:

spl_autoload_register(function($className){
    require_once($_SERVER["DOCUMENT_ROOT"] .'/' . str_replace('\', '/', $className). '.php');
})

这是我的 class

namespace app\admin\modules\smartForm;
class smartForm {
/* Class logic*/
}

这是我的文件系统:

这是我得到的错误:

警告:require_once(C:/xampp/htdocs/app/admin/modules/smartForm/smartForm.php): 无法打开流:C:[=32= 中没有这样的文件或目录].php 第 3 行

看来我在 3 天后终于弄明白了。

您可以从自动加载器文件中选择相对路径,而不是使用绝对路径。

这是最后的内容:

  include_once(__DIR__.'\..\'.$className.'.php');