提问人:Jakub Menšík 提问时间:10/26/2021 更新时间:10/28/2021 访问量:326
xampp 上的 PHP 自动加载命名空间
PHP autoloading namespace on xampp
问:
我正在尝试在 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*/
}
这是我的文件系统:
我收到的这个错误:
警告:require_once(C:/xampp/htdocs/app/admin/modules/smartForm/smartForm.php):无法打开流:第 3 行的 C:\xampp\htdocs\php\smartfrom\app\system\autoLoader.php中没有这样的文件或目录
答:
1赞
Jakub Menšík
10/28/2021
#1
看起来 3 天后我终于弄清楚了。
您可以从自动加载器文件中选择相对路径,而不是使用绝对路径。
这里是最终包括:
include_once(__DIR__.'\..\\'.$className.'.php');
评论
admin
app\modules\smartForm