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

PHP autoloading namespace on xampp

提问人:Jakub Menšík 提问时间:10/26/2021 更新时间:10/28/2021 访问量:326

问:

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

这是我的自动加载器:

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

这是我的班级

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

这是我的文件系统:

This is my file system

我收到的这个错误:

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

php xampp 命名空间 自动加载

评论

0赞 cOle2 10/26/2021
它不在文件夹中。试试吧。adminapp\modules\smartForm

答:

1赞 Jakub Menšík 10/28/2021 #1

看起来 3 天后我终于弄清楚了。

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

这里是最终包括:

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