2013-09-26 2 views
0

제 질문은이 양식 작성자가 필요한 것입니다. 지난 몇 년 동안 간단한 CSS와 HTML을 사용하여 평범한 PHP 코드를 작성한 저와 같은 프로그래머는 Twig를 배워야하고 모든 학습 자료로 Symfony 시스템에 들어가야합니다. 이제 폼에 나뭇 가지를 사용할 수 없습니다. 좋아, 나는이 formbuilder 물건도 배웠다. 문제 없어. 나는 이것에 대한 아이디어를 가지고 있는데, 나는 이와 같은 양식을 만들지 만, 그것의 이점을 볼 수는 없습니까? 나뭇 가지에 쓰면 재사용 할 수 있습니다.Symfony formbuilder가 필요한 이유는 무엇입니까? 이점은 무엇입니까?

아마 내가 간과 한 것 같습니다.

+1

귀하의 대답은 '왜 Symfony2를 사용합니까?'와 관련이 있다고 생각합니다. – pbenard

+0

Symfony2에 대해서는 대답 할 수 없지만, 1.1+에서는 유효성 검사 및 필드 별보고 기능을 매우 쉽게 추가하여 길어진 양식에서도 새 화면을 만들 수있는 리드 타임을 줄이는 시스템을 만드는 것이 아이디어였습니다. 불행히도 간단한 양식에 사용하는 것은 매우 복잡했으며 당시 포럼에 대한 의견은 소수의 사람들이 그 내용을 포기하는 것이 었습니다. Symfony2에서 폼 시스템의 개발자가 어떻게 먹 였는지 모르겠습니다. 그러나 나는 그 존재 이유가 동일하다고 생각해야합니다. 즉, 입증 할 수있는 형태로 신속하게 실행하고 검증 기본값으로 빠르게 작동시킬 수 있어야합니다. – halfer

+0

나뭇 가지의 다른 매개 변수에 따라 달라지는 수백 개의 정적 + 선택적 필드로 복잡한 중첩 된 양식을 작성해보십시오. –

답변

3

질문은 오래되었지만 아직 관련이 없으므로 아직 답변이 없으므로 formBuilder를 사용하는 몇 가지 장점과 이유를 알려 드리겠습니다.

양식 유효성 검사 양식의 데이터는 엔터티 속성의 제약 조건에 대해 유효성이 검사됩니다. 아주 좋고 쉬운.

엔터티 선택 유형 선택 상자를 아무런 노력없이 엔터티로 미리로드 할 수 있습니다.

DataTransformers 보기/표준/모델 데이터간에 특정 검사, 데이터 변환 및 형식 지정을 적용 할 수 있습니다.

예 : 데이터베이스에서 전달되는 ISO8601 문자열 -> [마술이 발생합니다] -> php DateTime 객체 -> [more magic] -> 양식 필드의 Intl 형식 및 현지화 날짜를 참조하십시오.

+ optionsResolver

... 그리고 당신이 나뭇 가지에 조금 더 갈 의향이 있다면, 당신은 기본적으로 당신이 생각할 수있는 모든 방법으로 어떤 형태 요소의 렌더링을 사용자 정의 할 수 있습니다.

예 : 사용자 정의 FormType과 나뭇 가지 형태의 위젯과 양식 빌더에서 간단한

->add('devices', 'device_selection', array(
       'site' => $deviceGroup->getSite(), 
       'groups' => false, 
       'group' => $deviceGroup, 
      )) 

, 당신에게 아이콘 추가 세부 사항 확인란 목록, 사업부에 싸여 각을 제공 할 수 있습니다. 단지 예입니다.

이것은 내 머리 꼭대기에 있습니다.

저는 PHP/HTML/CSS를 사용 했었지만 거대하고 복잡한 웹 프로젝트를 손에 넣었을 때 formBuilder의 복잡성이 추가되어 엄청난 유연성이 추가되었습니다. 이것은 Symfony와 같은 프레임 워크가 빛나는 곳입니다.