9

我遇到了使用 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”

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

4

2 回答 2

8

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

当我将文件移动到src/custom/CustomNamespace/UserProvider.php时,一切正常

于 2013-02-19T12:50:42.877 回答
1

如果有人遇到我的问题,我将在此处添加一条注释,该问题与此问题相同,但与区分大小写有关。

我将我的站点从 OS X(不区分大小写)移至 Ubuntu(区分大小写),它抱怨该类不存在。该文件被命名为 myclass.php,当我将它重命名为 MyClass.php 时,它起作用了。

于 2013-04-24T09:18:31.950 回答