많은 것을 읽은 후에 Zend_Form을 다양한 표현으로 나눌 수 있다는 것을 깨달았습니다.Doctrine 엔티티에서 Zend_Form의 요소 구성하기
Matthew Weier O'Phinney이 제안한 논리에 따라, 나는 App_Form의 경우 Zend_Form을 확장하는 클래스의 생성자에 Doctrine [2] Entitie를 전달하는 아이디어를 얻었습니다.
그래서 내 entitie에, 나는 패턴 다음, 각 양식하는 방법이 있습니다
final public function getForm($form = null)
: Entitie 양식을 검색하는 방법을 가지고있는 추상 클래스 App_Form_Entitie를 확장
protected function _formFormName{}()
이고 아직 방법이 있습니다 isValid() 및 getMessage().
Where to place Zend_Forms, Controller? Model? Somewhere else?
내가 가장 좋은 방법은 이들의 궁금하다 :
그러나 많은 사람들이 별도의 파일에서 양식을 떠날 것을 선호 볼 수있는 첫 번째 매개 변수로 폼의 생성자에 개체 전달 , 원하는 양식을 그러한 선택적인 두 번째 매개 변수로 가져 오거나 (마태가 묘사 한대로) 엔티티에서 양식을 가져 와서 원하는 양식의 이름을 첫 번째 매개 변수로 전달하십시오.
답변을 환영합니다. 여기
<?php
//My controller action
/* @var $em Doctrine\ORM\EntityManager */
$user = $em->find('MyNamespace\User', 1);
$loginForm = new App_Form($user, array('form'=> 'login'));
$this->view->loginForm = $loginForm;
//My view script
echo $this->loginForm;
그리고 그 형태는 별도의 파일에있는 매튜의 제안 :
<?php
//My controller action
/* @var $em Doctrine\ORM\EntityManager */
$user = $em->find('MyNamespace\User', 1);
$formLogin = $user->getForm('login'); //The entity creates a new instance of the class App_Form_Login and returns it.
$this->view->formLogin = $formLogin
//In my view...
echo $this->formLogin;
약간의 코드로이 두 가지 옵션을 자세히 설명해 주시겠습니까? – rojoca
@rojoca 예제를 추가했습니다. – JCM