我想从lib
目录加载HomeController类:
root/
-lib/
--/HomeController.php
-vendor/
-composer.json
-index.php
Composer.json
"autoload": {
"psr-4": {
"Lib\\": "lib/"
}
}
HomeController.php
namespace Lib;
class HomeController {}
的index.php
var_damp(new \Lib\HomeController.php);
它没有找到班级 但是如果我将HomeController.php放在Controllers目录中:
root/
-lib/
--/Controllers/HomeController.php
并将命名空间:index.php更新为var_damp(new \Lib\Controllers\HomeController.php);
,将HomeController.php更新为:
namespace Lib\Controllers;
class HomeController {}
它完美无缺
这很奇怪,我无法找到任何谈论它的文档。我不需要其他目录,在这种情况下,我希望HomeController类直接位于lib
目录中。
如何让它在lib
文件夹中运行?
答案 0 :(得分:0)
我认为路径引用中的尾部斜杠是你的问题。将composer.json
中的自动加载部分更改为:
"autoload": {
"psr-4": {
"Lib\\": "lib"
}
}
...然后运行composer dump-autoload
。