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');
我正在尝试在 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');