Symfony 无法在Sylius中加载自定义捆绑包?

Symfony 无法在Sylius中加载自定义捆绑包?,symfony,sylius,Symfony,Sylius,我想在Sylius中创建我自己的包。我在目录src中创建了一个名为App的应用程序 src Sylius ....... App Bundle ShopBundle AppShopBundle.php 在这个文件中,我写了非常简单的: namespace App\Bundle\ShopBundle; use Symfony\Component\HttpKernel\Bundle\Bundle;

我想在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:
试图从命名空间“App\Bundle\ShopBundle”加载类“AppShopBundle”。
您是否忘记了“App\Bundle\ShopBundle\AppShopBundle”的“use”语句


您应该编辑composer.json文件以自动加载新包

"autoload": {
        "psr-0": { "": "src/" }
}

然后在终端运行composer dump autoload

Tuan的方法对我很有效。在我的例子中,我的composer.json自动加载等于:

"autoload": {
   "psr-0": { "Sylius\\": "src/", "App\\": "src/" }
},
然后,在运行“composer dump autoload”后,您需要清除缓存

php app/console cache:clear --env=dev

虽然Tuan的答案可行,但它使用了psr-0。为
psr-4
支持添加更新的答案

更改composer.json的自动加载配置以加载整个源目录,如下所示:

"autoload": {
    "psr-4": {
        "": "src/"
    }
}