【问题标题】:Cannot load custom bundle in Sylius?无法在 Sylius 中加载自定义包?
【发布时间】:2015-06-20 17:15:28
【问题描述】:

我想在 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”的“使用”语句?

【问题讨论】:

    标签: symfony sylius


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      Tuan 的方法对我有用。就我而言,我的 composer.json 自动加载等于:

      "autoload": {
         "psr-0": { "Sylius\\": "src/", "App\\": "src/" }
      },
      

      然后你会想在运行 'composer dump-autoload' 后清除缓存

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

      【讨论】:

        【解决方案3】:

        你应该编辑 composer.json 文件来自动加载你的新包

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

        然后在终端运行 composer dump-autoload

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-06-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多