2012-11-01 3 views
0

는 예를보고하십시오 :Symfony2 Forms의 FormType 안의 필드 이름?

/** @var FormBuilderInterface $builder */ 

$builder->add('foo', new MyFormType()); 
$builder->add('bar', new MyFormType()); 
$builder->add('baz', new MyFormType()); 

나는 (: 위의 예에서 foo, barbaz 내 말 필드 이름)를 MyFormType 예를 내부에서 현재의 필드 이름을 얻을 필요가있다. 내가 어떻게 할 수 있니? 선택할 수있는 방법과 그 안에 필드 이름을 어떻게 얻을 수 있습니까?

더 일반적으로, 특정 유형의 모든 양식 요소에 대한 필드 이름을 가진 일부 외부 함수를 호출해야하므로 FormType 클래스 내부에서 수행하기로 결정 했으므로 좋은 캡슐화처럼 보입니다.

답변

1

내가 아는 것처럼 당신은 필드 이름을 얻을 수 없다. 당신은 부모를 얻을 수있다. MyFormType buildForm 방법 내부에서 :

$builder->add('foo', new MyFormType('foo')); 
+0

감사 : 내가 올바른 질문을 이해한다면

$parent = $builder->getParent(); 

는 내가 그것을 문자열을 수락 할 MyFormType의 생성자를 추가하는 것입니다 할 수있는 가장 좋은 방법을 생각한다 귀하의 회신을 위해. 나는이 아이디어에 대해 생각하지만 필자는 아직 필드 이름을 중복하고 싶지 않습니다. DRY는 다소 신탁입니다.) –

+0

다른 appoach가 나에게 말해 준다면. –