在 symfony2 中创建 vendor bundle 并通过 composer 部署它
Creating vendor bundle in symfony2 and deploying it via composer
我正在尝试创建我的第一个供应商包。我在这个 question 中找到了很多信息,但我被卡住了。
- 我的 github 存储库可在此处获得:
https://github.com/vtedesco/Peary
- 我已经在 composer 中注册了它:
https://packagist.org/packages/vted/peary
在另一个项目中,我通过命令 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 class 看起来很适合我。
您当前的包结构更适合 psr-4 自动加载器:
{
"autoload" : {
"psr-4" : {
"Vted\PearyBundle\" : ""
}
}
}
或者,您可以使用 target-dir
with psr-0。但是,首选 psr-4 自动加载器。
我正在尝试创建我的第一个供应商包。我在这个 question 中找到了很多信息,但我被卡住了。
- 我的 github 存储库可在此处获得: https://github.com/vtedesco/Peary
- 我已经在 composer 中注册了它: https://packagist.org/packages/vted/peary
在另一个项目中,我通过命令 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 class 看起来很适合我。
您当前的包结构更适合 psr-4 自动加载器:
{
"autoload" : {
"psr-4" : {
"Vted\PearyBundle\" : ""
}
}
}
或者,您可以使用 target-dir
with psr-0。但是,首选 psr-4 自动加载器。