Получить тип поля класса в форме EventListener

Я пытаюсь обновить приложение до Symfony3. В Symfony2 в моем EventListener у меня есть:

$typeTitle = $event->getForm()->get('title')->getConfig()->getType()->getName();

Он возвращает «текст» и после того, как я могу использовать его, чтобы изменить свое поле

$form->add('title', $typeTitle, array_replace($optionsTitle, array(
'disabled' => true
)));

Но Symfony3 посещает TextType::class во втором параметре. Я могу написать это, но я предпочитаю, чтобы это оставалось динамичным.

Я старался : $event->getForm()->get('title')->getConfig()->getType()->getInnerType(); это возвращает:

Объект (Symfony \ Component \ Форма \ расширение \ Ядро \ Тип \ TextType) [576]

Но я не могу это использовать. Существует ли функция, которая возвращает TextType::class ?

Благодарю.

1

Решение

С Symfony3 то getName() метод был удален в пользу его полного имени класса (FQCN), поэтому просто используйте get_class() Функция на это, чтобы решить это:

$type = get_class($event->getForm()->get('title')->getConfig()->getType()->getInnerType());
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector