在 AppKernel 中找不到 symfony 2.7 基础包 class

symfony 2.7 base bundle class not found in AppKernel

我已经通过生成器命令创建了一个 symfony 2.7 包,它是在 src/Bundle/bundlename 下生成的,但是我想通过 composer 使用这个包以便能够在另一个项目中使用它我移动了包然后为包

创建了文件 composer.json
{
"name" : "extremesolution/payment-handler-vodafone-bundle",
"type" : "symfony-bundle",
"description": "Vodafone Redpoints Payment Handler Bundle",
"authors": [
    {
        "name": "Hazem Taha",
        "email": "hazem.taha@extremesolution.com"
    }
],
"require" : {
    "php": "^5.5"
},

"require-dev": {
    "phpunit/phpunit": "~3.7"
},

"autoload" : {
    "psr-4" : {
        "Extremesolution\Bundle\ExtremesolutionPaymentHandlerVodafoneBundle\" : ""
    }
  }
}

并将其推送到一个 bitbucket 私有存储库并在我的项目中需要该包 composer.json 并提供存储库 url 并在 AppKernel.php

中注册该包

new Extremesolution\Bundle\PaymentHandlerVodafoneBundle\ExtremesolutionPaymentHandlerVodafoneBundle()

然而每当我 运行 作曲家更新时我得到

[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command:
Fatal error: Class 'Extremesolution\Bundle\PaymentHandlerVodafoneBundle\ExtremesolutionPaymentHandlerVodafoneBundle' not found in /home/kan/symfony_
trials/payment-example/app/AppKernel.php on line 25
PHP Fatal error: Class 'Extremesolution\Bundle\PaymentHandlerVodafoneBundle\ExtremesolutionPaymentHandlerVodafoneBundle' not found in /home/kan/sym
fony_trials/payment-example/app/AppKernel.php on line 25
.

我正在通过 phpbrew 使用 php 版本 5.5.38、composer 版本 1.2.1 和 symfony 2.7

我错过了什么吗?是否有通过 composer 使用的捆绑包的自定义配置?

您的问题可能是因为您的包位于私有存储库中。 我建议您将可见性更改为 public 并将其发布在 packagist 上。

如果出于某种原因您必须将其保密,请查看 how to handle private packages 上的作曲家文档。

希望对您有所帮助,

问候

在您的 composer.json 文件中,您将 PSR-4 命名空间前缀配置为 Extremesolution\Bundle\ExtremesolutionPaymentHandlerVodafoneBundle\。但是,根据错误消息,您正在尝试加载 class Extremesolution\Bundle\PaymentHandlerVodafoneBundle\ExtremesolutionPaymentHandlerVodafoneBundle(注意缺少的 Extremesolution 部分)。