Composer自动加载 - 找不到类

3

我正在开发一个小型的Silex应用程序,尝试构建一些结构。

这是我的composer.json文件:

{
    "require": {
        "silex/silex": "~1.3"
    },

    "autoload": {
        "psr-0": {
            "HelloWorld\\Controller": "src/HelloWorld/Controllers"
        }
    }
}

在我的web/index.php文件中,我有以下内容。
$loader = require_once __DIR__.'/../vendor/autoload.php';

$ctrl = new \HelloWorld\Controller\IndexController(); // <- Doesn't work

我在src/HelloWorld/Controllers中创建了一个IndexController控制器。

namespace HelloWorld\Controller;

class IndexController
{

}

我尝试了几乎所有可能的组合。有人知道如何正确注册它吗?Silex的一切都很好地加载了吗?
快速CGI发送stderr:“PHP消息:PHP致命错误:在/srv/http/web/index.php的第6行找不到'HelloWorld\Controller\IndexController'类”

1
我假设你在某个时候运行了 composer install,对吗? - Mikel Bitson
1
在autoload部分添加psr-4后,似乎问题得到了解决。将其作为答案添加,我会接受的。谢谢 :) - Kal
完成交易,很高兴它起作用了! :) - Mikel Bitson
1个回答

2
我认为问题在于自动加载程序文件没有生成,因此不知道在哪里查找类。尝试运行 composer install 如果您想在初始安装之后将网站的组件更新,可以随时运行composer update来更新存储库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接