我想在Sylius中创建自己的捆绑包。我在目录src中创建并命名为App
src
Sylius
.......
App
Bundle
ShopBundle
AppShopBundle.php
在这个文件中,我写得非常简单:
namespace App\Bundle\ShopBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AppShopBundle extends Bundle
{
}
我在AppKernel.php中注册了这个包
$bundles = array(
new App\Bundle\ShopBundle\AppShopBundle()
);
但是当我运行网站时,我有一个例外。我不明白这里的问题,任何人都可以帮助我吗?
AppKernel.php第28行中的ClassNotFoundException:
尝试加载类" AppShopBundle"来自命名空间" App \ Bundle \ ShopBundle"。
你忘记了"使用"声明为" App \ Bundle \ ShopBundle \ AppShopBundle"?
答案 0 :(得分:3)
您应该编辑composer.json文件以自动加载新的包
"autoload": {
"psr-0": { "": "src/" }
}
然后在终端
中运行composer dump-autoload答案 1 :(得分:3)
"autoload": {
"psr-0": { "Sylius\\": "src/", "App\\": "src/" }
},
然后你想在运行' composer dump-autoload'
之后清除缓存php app/console cache:clear --env=dev
答案 2 :(得分:0)
虽然Tuan的回答可行,但它使用psr-0
。添加psr-4
支持的更新答案。
更改您的composer.json的自动加载配置以加载整个源目录,如下所示:
"autoload": {
"psr-4": {
"": "src/"
}
}