首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PSR-4自动加载故障

PSR-4自动加载故障
EN

Stack Overflow用户
提问于 2017-03-29 09:57:56
回答 1查看 350关注 0票数 1

我想从lib目录加载HomeController类:

代码语言:javascript
复制
root/
-lib/
--/HomeController.php
-vendor/
-composer.json
-index.php

Composer.json

代码语言:javascript
复制
"autoload": {
    "psr-4": {
        "Lib\\": "lib/"
    }
}

HomeController.php

代码语言:javascript
复制
namespace Lib;
class HomeController {}

index.php

代码语言:javascript
复制
var_damp(new \Lib\HomeController.php);

它找不到类。

但是如果我把HomeController.php放在控制器目录中:

代码语言:javascript
复制
root/
-lib/
--/Controllers/HomeController.php

并将名称空间: index.php更新为var_damp(new \Lib\Controllers\HomeController.php);,将HomeController.php更新为:

代码语言:javascript
复制
namespace Lib\Controllers;
class HomeController {}

它工作得很完美。

很奇怪,我找不到任何医生在谈论这件事。我不需要额外的目录,在本例中,我希望将HomeController类直接放在lib目录中。

我怎样才能使它在lib文件夹中工作?

EN

回答 1

Stack Overflow用户

发布于 2017-03-31 16:03:43

我认为路径引用中的尾部斜杠是您的问题。将composer.json中的自动加载部分更改为:

代码语言:javascript
复制
"autoload": {
  "psr-4": {
    "Lib\\": "lib"
  }
}

...then运行composer dump-autoload

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43082941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档