Composer自动加载不在Silex中加载类

时间:2013-02-18 01:46:09

标签: php autoload silex

我有一种情况,使用composer在Silex应用程序中加载一个类。

该课程位于:

src/custom/UserProvider.php

在我的composer.json中,我添加了以下几行:

"autoload": {
   "psr-0": {
        "CustomNamespace": "src/custom/"
    }
}

在我的UserProvider.php文件中,我有:

namespace CustomNamespace;

当我在控制台中运行 composer update 时,此行被添加到/vendor/composer/autoload_namespaces.php

'CustomNamespace' => $baseDir . '/src/custom/',

但是,当我尝试使用该类时:

new CustomNamespace\UserProvider();

我收到了这个错误:

  

致命错误:第27行/home/ubuntu/www/project/web/index.php中找不到“CustomNamespace \ UserProvider”类

有谁知道发生了什么事?谢谢!

2 个答案:

答案 0 :(得分:8)

问题正是@Maerlyn在评论中所说的。

当我将文件移动到 src / custom / CustomNamespace / UserProvider.php

时,Everthing工作正常

答案 1 :(得分:1)

如果有人遇到我的问题,我会在这里添加一个注释,该问题显示与此问题相同,但与案例敏感性有关。

我将我的网站从OS X(不区分大小写)移动到Ubuntu(区分大小写),抱怨该类不存在。该文件名为myclass.php,当我将其重命名为MyClass.php时,它可以工作。