我有一种情况,使用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”类
有谁知道发生了什么事?谢谢!
答案 0 :(得分:8)
问题正是@Maerlyn在评论中所说的。
当我将文件移动到 src / custom / CustomNamespace / UserProvider.php
时,Everthing工作正常答案 1 :(得分:1)
如果有人遇到我的问题,我会在这里添加一个注释,该问题显示与此问题相同,但与案例敏感性有关。
我将我的网站从OS X(不区分大小写)移动到Ubuntu(区分大小写),抱怨该类不存在。该文件名为myclass.php,当我将其重命名为MyClass.php时,它可以工作。