在symfony2中创建供应商捆绑包并通过composer

时间:2016-02-12 11:00:33

标签: symfony composer-php bundle symfony-2.8

我正在尝试创建我的第一个供应商包。我在question找到了很多信息,但我被卡住了。

在我通过命令composer require vted/peary安装的另一个项目中,文件在我的目录vendors/vted/peary下正确显示。

但是当它尝试在AppKernel.php中添加它时:

$bundles = array(
    ...
    new Vted\PearyBundle\VtedPearyBundle(),
    ...
);

我收到以下错误:

ClassNotFoundException in AppKernel.php line 24:
Attempted to load class "VtedPearyBundle" from namespace "Vted\PearyBundle".
Did you forget a "use" statement for "Vted\PearyBundle\VtedPearyBundle"?

我认为这可能是某个地方的命名问题,但我找不到它。 VtedPearyBundle.php课对我来说很好。

1 个答案:

答案 0 :(得分:3)

您当前的捆绑结构更适合psr-4自动加载器:

{
    "autoload" : {
        "psr-4" : {
            "Vted\\PearyBundle\\" : ""
        }
    }
}

或者,您可以使用target-dir with psr-0。但是,首选psr-4自动加载器。