zend-framework 主义和 MVC 模式:模型和表单之间应该用什么样的层来连接数据?

2024-04-08

我正在学习 Zend Framework 和 Doctrine。

我想知道将表单连接到模型的最佳实践是什么,反之亦然。

在某些情况下,从表单类中的模型加载数据很方便。可以说是一个非常独特的类,它使用了许多模型。

在其他情况下,在模型类中使用为表单准备数据的方法会很方便。假设它可以有一个方法返回为选择选项元素准备的数组,因此该方法对于许多形式都很有用。

我希望保持一致性并始终将这种逻辑保留在一层中。

我认为控制器不是正确的地方,因为我想让它保持清晰和简单。

您实现这一目标的做法是什么(将模型连接到表单)?

- 我得出的结论是,我应该为我的所有需求准备模型。如果我必须处理许多模型,我将有一个服务层(这是正确的术语吗?)来连接这些模型。因此,模型或服务将具有为表单水合数据的方法。并且它将能够接受来自表单值的数据。


我认为控制器是连接模型和表单的最佳场所。如果您想防止使用大量代码来填充表单,请在接受模型的表单上创建一个填充方法。

如果你让模型和表单直接交流,那么在特定时间发生的事情将会变得非常混乱。我会创建像 populate 方法这样的便捷方法来保持简短,但所有操作都应该从控制器启动,以保持事情的中心并防止“魔术行为”。

只是我的2分钱..

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

zend-framework 主义和 MVC 模式:模型和表单之间应该用什么样的层来连接数据? 的相关文章

  • 带条件过滤的“IN”谓词不起作用

    我正在尝试直接过滤学说集合Criteria http docs doctrine project org en latest reference working with associations html filtering collec
  • 为关联数组选择哪种映射类型?学说ODM

    我有一个关于 顺便说一句 真的很棒 Doctrine ODM 的简单问题 假设您有一个类似以下的文档 Document class Test Id public id WHICHTYPE public field array 现在我想存储一
  • php/symfony/doctrine 内存泄漏?

    我在使用 symfony 1 4 和原则 1 2 将对象批量插入数据库时 遇到问题 我的模型有一种称为 Sector 的对象 每个对象都有多个 Cupo 类型的对象 通常范围从 50 到 200000 这些物体非常小 只是一个短标识符字符串
  • MVC 框架中的缓存策略?

    我编写了自己的小型 PHP MVC 框架 现在正在探索 PHP MVC 框架中的缓存策略 我正在考虑可以缓存什么 在哪里以及如何缓存 我的框架是简单的MVC框架 我有前端控制器 它启动应用程序 注册类自动加载 设置 php 运行时指令 最后
  • Ajax.BeginForm 帮助程序未将部分视图加载到指定的 DIV 中

    我正在使用 MVC 尝试将表单提交的结果加载到特定的 DIV 中 下面是我的表单的代码 div class segmentForm clearfix div
  • Backbone.js 应用程序可以逐步增强并可供搜索引擎抓取吗?

    我需要为我的下一个项目实现一个 MVC JavaScript 框架 但它既是一个网站 又是一个 Web 应用程序 是否可以公开数据服务器端 然后解析 URL 以显示 JS 版本 我计划使用 Rails 作为服务器端代码 我写了一个关于这个主
  • asp.net MVC ActionFilter 用于删除结果中的空行

    请帮我处理这个动作过滤器 我想我需要使用 OnResultExecuted 方法 我怎样才能访问输出 html 并替换其中的某些内容 谢谢 使用空白删除 HTTP 模块怎么样 它易于实施 清洁且可重复使用 http madskristens
  • Doctrine 在 Active Record 之上添加了什么 - CodeIgniter?

    我真的很喜欢 CodeIgniter Active Record 它非常好地允许我进行所有需要的数据库查询 但我也一直在阅读有关 ORM 的内容 例如 Doctrine 当我阅读 Doctrine 的文档时 它的使用似乎不像 Active
  • 获取实体内的entityManager

    我想使用类似的东西 em this gt getEntityManager 在实体内部 我明白我应该将其作为一项服务但出于某些测试目的 我想从实体访问它 有可能实现吗 我尝试过 em this gt getEntityManager pro
  • Zend 框架复选框装饰器

    我想要完成的是让复选框标签显示在复选框输入字段之后 在它们的右侧 我现在正在使用这些装饰器 private checkboxDecorators array Label array array data gt HtmlTag array t
  • Spring MVC 控制器中的硬编码@RequestMapping URL

    我正在研究 Spring 3 并在一个简单的 Web 应用程序中使用它 现在我正在使用注释实现 Spring MVC 控制器 我想知道 有没有使用的最佳实践 RequestMapping注解 我的意思是 我发现通常这个注释中映射的 URL
  • 使用Zend实现文件上传进度

    您好 我正在尝试使用 Zend 实现上传进度 但是我还没有找到任何详细的教程 指针会很有用 Thanks 我不记得曾经看过完整详细的教程来解释如何使用 Zend Framework 获取上传进度条 但这里有一些提示 如果您已经了解有关 PH
  • 使用 Doctrine NestedSet 进行面包屑导航

    我有一个实现 NestedSet 行为的模型 Page actAs NestedSet hasManyRoots true rootColumnName root id columns slug string 255 name string
  • Doctrine 原始 sql 和准备好的语句

    我有一个使用准备好的语句的 Doctrine RawSql 查询 然而 当生成 SQL 查询时 它们似乎被忽略 但是如果我遗漏了标记值 我会得到一个关于绑定变量数量不匹配的异常 因此它至少尝试将它们分入 如果我内联包含这些值 Doctrin
  • Zend 框架:Zend_Oauth 和 Zend_Service_Twitter

    首先 我能够使用 Oauth 成功进行身份验证 我正在使用在这里找到的 Padraic 教程 http blog astrumfutura com archives 411 Writing A Simple Twitter Client U
  • _Layout.cshtml无法直接请求,因为它调用了“RenderBody”方法

    我使用属性来路由 这是否相关 我不知道 当我不使用 Route 属性时 共享控制器中的 Layaout 操作不起作用 但页面正在呈现 public class SharedController Controller GET Shared A
  • Zend Framework:检查 Zend View Placeholder 是否已设置

    如何在回显之前检查 Zend View 占位符是否已设置 因为我想在输出之前在它前面添加 I tried echo isset this gt placeholder title this gt placeholder title 但我得到
  • Zend Framework 生成唯一的字符串

    我想生成一个唯一的 4 6 个字符长的字母数字字符串 以便与每个记录 用户 一起保存在数据库中 db 字段具有唯一索引 因此尝试保存预先存在的字符串会生成错误 现在我正在生成一个随机字符串并使用 try catch 因此在添加新记录时如果抛
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • Demandware MVC 概念

    我是 Demandware 的新手 我正在从 Magento 切换到 Demandware Demandware 不是开源的 我没有得到适当的教程 无法理解它的概念 我来自 Magento 所以我知道 Magento MVC 结构 但在 D

随机推荐