0
나는 내가 호출 가능한로 설정 한 $this->getTypes();
젠드 프레임 워크 2의 폼에서 뷰 도우미를 사용하려면 어떻게해야합니까?
라는 배열 반환하는보기 도우미가 :
'view_helpers' => array(
'invokables' => array(
'getTypes' => 'Account\View\Helper\GetTypes',
),
),
을 나는하지만, 형태, 배열을 볼 수있는보기에서 에코 경우 실패합니다.
$this->add(array(
'name' => 'type_id',
'type' => 'Zend\Form\Element\Select',
'attributes' => array(
'required' => 'required',
),
'options' => array(
'label' => 'Type *',
'value_options' => $this->getTypes(),
),
));
어떤 아이디어 : 내가 좋아하는 뭔가를하고 싶은
?
로 작성되었습니다. 만약 내가 더 많은 형태로'$ this-> getTypes()'를 사용할 필요가 있다면, 이것을하기위한 어떤 종류의 방법이 있어야한다. 그럼에도 불구하고 고마워요 – Patrioticcow
OOP 방식으로 생각하십시오. Form을 채우려면 ViewHelpers 작업이 아니어야합니다. 또한 Population을위한 데이터를 얻는 것이 일이 아니어야합니다. 그것은 서비스 업무입니다. 그러므로 귀하의 양식은 서비스에 의존하므로 주입해야합니다. 저기와 그 주위에 다른 방법은 없습니다. P – Sam
이 논리를 유지할'Application \ Model' 네임 스페이스에 모델 클래스를 생성하게됩니다. 그런 다음 공장을 사용하여 SM을 해당 모델에 주입하고 논리를 수행했습니다. 그런 다음 모델을 보유하고있는 팩토리를 폼에 삽입했습니다. 필자는 Service 클래스가 데이터베이스와 관련된 로직 (기본 설정)을 유지하도록합니다. – Patrioticcow