【发布时间】:2017-08-22 07:36:47
【问题描述】:
我想从lib 目录加载 HomeController 类:
root/
-lib/
--/HomeController.php
-vendor/
-composer.json
-index.php
作曲家.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 文件夹中工作?
【问题讨论】:
-
可能是你错过了执行
composer dumpautoload命令? -
我试过
composer dump-autoload,autoload_psr4.php是正确的。我也删除了 composer.lock 并再次重建它。我仍然无法使用自动加载。
标签: php namespaces composer-php autoload psr-4