2017-01-23 2 views
1

내 응용 프로그램을 Symfony3으로 업그레이드하려고합니다. 내의 EventListener의 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();는 반환

객체 (심포니 \ 구성 요소 \ 양식 \ 확장 \ 코어 \ 타입 \ TextType) [576]

그러나 나는 그것을 사용할 수 없습니다. TextType::class을 반환하는 함수가 있습니까?

감사합니다.

getName() 방법, 그래서 그냥이에 get_class() 기능을 사용하여, 자사의 정규화 된 클래스 이름 (FQCN)에 찬성 제거되었습니다 Symfony3 때문에

답변

1

그것을 해결하기 위해 :

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