我正在尝试创建我的第一个供应商捆绑包。我在这个问题中找到了很多信息,但我被卡住了。
- 我的 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 自动加载机。