Вызовите функцию перед каждой страницей, которая содержит форму - PullRequest
0 голосов
/ 17 мая 2019

Мне нужно активировать фильтр перед каждой функцией контроллера, которая содержит форму.Я создаю TypeExtension

class SoftDeleteTypeExtension extends AbstractTypeExtension{
    protected $em;
   /*
     * Constructor.
     *
     * @param UserManagerInterface $userManager
     */
    public function __construct(ObjectManager $em)
    {
        $this->em = $em;
    }
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $form=$builder->getForm();
        $em=$this->em;
        if (!$em->getFilters()->isEnabled('softdeleteable')){
            $em->getFilters()->enable('softdeleteable');
        }
    }
    public function getExtendedType()
    {
        return FormType::class;
    }
}

Но buildForm вызывается для каждого поля в форме.Я проверяю $builder->getForm()->isRoot() но это всегда так?

Спасибо тебе

...