首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“苗条”类的行为很奇怪。

“苗条”类的行为很奇怪。
EN

Stack Overflow用户
提问于 2018-08-11 09:18:23
回答 2查看 41关注 0票数 0

我用标准的Ubuntu1604env在我的本地Vagrant (运行在Windows上)上开发了一个Slim-3应用程序。

在我的composer.json中,插入了autoload指令:

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

在我的src\btc文件夹中,我创建了几个类,每个类文件的顶部都有namespace btc声明。

特别是,我有一个类似于这样的http.php文件:

代码语言:javascript
复制
namespace btc;
class Http {

    const SUCCESS_WITH_OUTPUT = 200;
    const SUCCESS_WITH_NO_OUTPUT = 204;
    const SUCCESS_POST_WITH_OUTPUT = 201; //CREATED
    const FAIL_AUTH = 401;
    const BAD_REQUEST = 400;
    const FAIL_OTHERWISE = 403;
}

在我的routes.php中,我有这样的参考:

代码语言:javascript
复制
$output = ['res' => 'Method not implemented', 'status'=>btc\Http::BAD_REQUEST];

这在我的本地流浪机器上很好用。

===========

现在,我克隆了回购,以部署到我的生产机器。

  • composer update运行良好。
  • 我再运行一次composer dumpautoload来创建autoload文件。
  • Slim应用程序运行正常,因为路径映射是正确的。
  • 但是它没有说class 'btc/Http' not found错误。

我认为这是由于btc名称空间没有自动加载。

我错过了什么吗?

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2018-08-11 23:15:07

我已经找到了导致这种奇怪行为的错误:区分大小写。

由于我的运行在Windows上,所以它不关心情况。所以http.phpHttp.php是一样的。

但是在纯Linux env中,这两者是不同的。

改为Http.php,一切都很好。

票数 0
EN

Stack Overflow用户

发布于 2018-08-13 12:15:55

请对composer中的所有路径使用/

示例:

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

然后运行composer update

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

https://stackoverflow.com/questions/51798250

复制
相关文章

相似问题

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