zend-framework - Zend_Form::何时应该在 View 中而不是在 Controller 中创建表单?

标签 zend-framework zend-form zend-view zend-controller

Zend_Form::什么时候应该在 View 中而不是在 Controller 中创建表单?

选项 1 - 在 Controller 中创建表单并传递给 View (通常使用)

Controller :

$form=new MyForm();
$this->view->form=$form;

View :

echo $this->form;

选项 2 - 直接在 View 中创建表单(对我来说更好看,因为表单是 View 的子部分)

View :

$form=new MyForm();
echo $this->form;

谢谢

最佳答案

简而言之:新观点

你最终可能会:

  • 为复杂任务创建 View 助手(并在 View 中调用助手 $this->getForm()),
  • 或使用Model::getForm()
  • service::getForm() 当您需要交叉操作表单时。

进一步说明:

因为在理想情况下, View 仅包含 HTML,以将逻辑与表示 (MVC) 分开。

使用 TDD 时,您为逻辑编写测试,而不是为 View 脚本编写测试,它们只是变量的外衣。

显示表单,不仅是表单本身,还包括检查是否已提交、检查验证错误、设置 flash messenger 变量等等。

这些任务太复杂了,无法让他们查看脚本。

作为分离逻辑和表示的一个很好的练习,我建议您看一下 PHPTAL模板语言,作为 ZF 中使用的模板语言,这是 native PHP 的一个很好的替代品。

关于zend-framework - Zend_Form::何时应该在 View 中而不是在 Controller 中创建表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3248134/

相关文章:

zend-framework - Zend Form 多选数组

zend-framework - Zend_Form_Element_File 在不需要时在验证时返回 false

zend-framework - View 助手插件的多个实例?

php - 在 Zend HeadScript View 助手中修改堆栈

php - fatal error : Out of memory Zend Error/PhpMyAdmin

zend-framework - 如何在 Zend PHPUnit Controller 测试中调度带有子域的 url?

Windows 和 IIS 上的 PHP 5 和 Zend MVC

php - 哪个版本的 php 与 Zend Framework 兼容?

zend-framework - 在 Zend Form 中写入超链接?

php - 我在 Zend Framework 中的什么地方保存部分( View ),以便我的应用程序中的所有 View 都可以访问?