使用 Zend_Form 时,我发现自己创建了很多如下所示的控制器方法:
function editPersonAction()
{
$model = $this->getPersonModel();
$form = $this->getPersonEditForm();
if ($this->getRequest()->isPost() {
$data = $this->getRequest()->getPost();
//$form->populate($data); [removed in edit]
if ($form->isValid($data)) {
$data = $form->getValues();
$model->setFromArray($data);
// code to save model then decide which page to redirect to
}
} else {
$form->populate($model->toArray());
}
$this->view->form = $form;
}
大多数代码总是相同的,我相信有更好的方法来做到这一点。人们还使用 Zend_Form 使用哪些其他模式来减少使用的样板代码量?