2016-05-21 15 views
0

バンドルの設定に間違いがあるので、最初の配布可能なバンドルをSymfony2プロジェクトに正常にインストールできません。私の配布可能なsymfony2バンドルのインストールに関する問題

マイバンドル:インストールの手順以下と、通常、その作品であるように作曲を使用してバンドルをインストールhttps://github.com/KdrMkLabs/TicketBundle

。あなたは私が配布バンドルの構成を設定するための正しい方法であるかを理解するのに役立つ可能性があり、

enter image description here

私はこれがなぜ起こるか知らない:あなたがウェブサイトを実行するときしかし、その次の例外が発生しましたか?

ありがとうございます。


KDRTicketBundle構成:

enter image description here

composer.json

{ 
    "name": "kdrmklabs/ticket-bundle", 
    "type": "symfony-bundle", 
    "autoload": { 
     "psr-0": { "KDRMKLabs\\TicketBundle\\": "" } 
    } 
} 
// file: KDRTicketBundle.php 

namespace KDRMKLabs\TicketBundle; 

use Symfony\Component\HttpKernel\Bundle\Bundle; 

class KDRTicketBundle extends Bundle 
{ 
} 

  • 私のすべてのプロジェクトクラス(コントローラ、サービス、エンティティ)に名前空間namespace KDRMKLabs\TicketBundle\*...を使用しています。
  • 開発中のすべてのsymfony2バンドルのように、このバンドルは開発プロジェクトでうまく動作します。

答えて

2

PSR-0オートローディングでは、フルネームスペースをディレクトリで表す必要があります。この場合、バンドルクラスはkdrmklabs/ticket-bundle/KdrmkLabs/TicketBundle/KdrmkLabsTicketBundle.phpにあるはずです。

もちろん、これらの余分なディレクトリを持つことは愚かです。そのため、PSR-4オートローディングがあります。この規格は、パスから構成された名前空間の接頭辞を削除します。

だから、解決策は、私は私の問題を解決し"psr-4": { ... }

+0

"psr-0": { ... }を変更することです。 DependencyInjection/KDRTicketExtension.phpの名前は、DependencyInjection/Configuration.phpで定義されたパラメータの名前とは異なります。あなたが言ったように、psr-0は間違っていました。ありがとうございました。 –

関連する問題