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/
コードを保持する場所です)
理解できません。ここで何が問題なのですか?私は何を間違っていますか?