0

symfony2 でカスタム リポジトリ クラスを実装しようとしていますが、クラスを拡張したいと考えていEntityRepositoryます。EntityRepository取得引数を親 (つまり) コンストラクターに渡すのに問題があります。これは、親コンストラクターの署名です。

public function __construct($em, Mapping\ClassMetadata $class)

services.ymlしたがって、引数を取得するために、これをファイルに追加する必要がありました。

parameters:
    user_provider.class: Untitled\F5Bundle\Security\UserRepository

services:
    user_meta_data:
        class: Doctrine\ORM\Mapping\ClassMetaData
        arguments:
            name: "Untitled\F5Bundle\Entity\User"
    user_provider:
        class: "%user_provider.class%"
        arguments:
            entityManager: "@doctrine.orm.entity_manager"
            meta_data: "@user_meta_data"

また、注釈タグをUserクラスに追加しました(必要かどうかはわかりません)

これを実行すると、エラーが発生します。メッセージには次のように書かれています。

FatalErrorException: Error: Class 'Doctrine\ORM\Mapping\ClassMetaData' not found
in /mnt/data/Projects/F5/app/cache/dev/appDevDebugProjectContainer.php line 2749

/mnt/data/Projects/F5/コードを保持する場所です)

理解できません。ここで何が問題なのですか?私は何を間違っていますか?

4

3 に答える 3