イベントリスナーで使用するために、リポジトリを登録フォームに挿入できるようにしたいのですが(このアプローチに似ています)、次のようになります。
キャッチ可能な致命的なエラー: AppBundle\Form\RegistrationType::__construct() に渡される引数 1 は > AppBundle\Entity\FocusRepository のインスタンスである必要があります。指定された文字列は G:\Documents\workspace で呼び出されます> \match\vendor\pugx\multi -user-bundle\PUGX\MultiUserBundle\Model\UserDiscriminator.php 155 行目
テンプレートでこれを回避できますが、イベント リスナーを使用する方がより洗練されたソリューションに思えました。助言がありますか?
形
namespace AppBundle\Form;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use FOS\UserBundle\Form\Type\RegistrationFormType;
use AppBundle\Entity\FocusRepository;
class RegistrationType extends RegistrationFormType
{
private $focusRepo;
public function __construct(FocusRepository $focusRepo)
{
$this->focusRepo = $focusRepo;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
...
}
...
}
サービス:
services:
app.focus_repository:
class: Doctrine\ORM\EntityRepository
factory_service: doctrine.orm.default_entity_manager
factory_method: getRepository
arguments:
- AppBundle\Entity\Focus