在symfony2中创建供应商bundle并通过作曲家部署它



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

  • 我的 github 存储库可在此处获得:https://github.com/vtedesco/Peary
  • 我已经在作曲家中注册了它:https://packagist.org/packages/vted/peary

在另一个项目中,我通过命令安装了它 composer require vted/peary ,文件在我的目录下正确可见 vendors/vted/peary .

但是当它尝试将其添加到 AppKernel 中时.php如下所示:

$bundles = array(
    ...
    new VtedPearyBundleVtedPearyBundle(),
    ...
);

我收到以下错误:

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

我认为这可能是某处的命名问题,但我找不到它。VtedPearyBundle.php类对我来说看起来不错。

您当前的捆绑包结构更适合 PSR-4 自动加载机:

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

或者,您可以将target-dir与 psr-0 一起使用。但是,首选 psr-4 自动加载机。

最新更新