zend 模型架构

2024-04-04

假设我的数据库中有两个表:项目和用户。我创建了两个扩展 Zend_Db_Table_Abstract 的模型:Model_DbTable_Users and Model_DbTable_Projects.

现在,创建一个实例是一个好的模式吗?Model_DbTable_Projects在 - 的里面Model_DbTable_Users班级 ?换句话说:可以在这个模型中放入任何逻辑吗?或者我应该创建另一个使用它的类Model_DbTable_Users and Model_DbTable_Projects?

我过去常常将所有逻辑放在扩展 Zend_Db_Table_Abstract 的模型中,但在大型项目中,它会使代码非常不干净。那么,您能给我有关模型架构的任何建议吗(文章上的链接非常棒!)。


我是 Zend Framework 项目 1.0 版本的项目负责人。我的贡献主要是 Zend_Db 组件。

我经常advise http://karwin.blogspot.com/2008/05/activerecord-does-not-suck.html人们应该使用领域模型 http://www.infoq.com/minibooks/domain-driven-design-quickly模式并避免贫血域模型 http://www.martinfowler.com/bliki/AnemicDomainModel.html反模式。请记住表不是模型。

您的模型是封装业务逻辑的代码的类(不扩展基类)。模型和表之间的关系不是 IS-A,而是 HAS-A(或 HAS-MANY)。该模型将数据库持久性视为实现细节。模型的使用者不应该知道您的数据库结构(这允许您更改数据库结构而不更改模型的接口)。

我基本上是在重复我给出的答案Zend 框架中的模型 https://stackoverflow.com/questions/294875/models-in-the-zend-framework/295051#295051.

这里还有一些阅读内容:

  • http://weierophinney.net/matthew/archives/202-Model-Infrastruct.html http://weierophinney.net/matthew/archives/202-Model-Infrastructure.html
  • http://blog.astrumfutura.com/archives/373-The-M-in-MVC-Why-Models-are-Misunderstood-and-Unappreciated.html http://blog.astrumfutura.com/archives/373-The-M-in-MVC-Why-Models-are-Misunderstood-and-Unappreciated.html
  • http://n4.nabble.com/Another-Model-Design-Thread-td670076.html http://n4.nabble.com/Another-Model-Design-Thread-td670076.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

zend 模型架构 的相关文章

  • 重用 R 中内置的模型

    在 R 中构建模型时 如何保存模型规范以便可以在新数据上重用它 假设我根据历史数据建立逻辑回归 但直到下个月才会有新的观察结果 最好的方法是什么 我考虑过的事情 保存模型对象并在新会话中加载 我知道某些模型可以使用 PMML 导出 但还没有
  • Zend_Cache_Backend_Sqlite 与 Zend_Cache_Backend_File

    目前我正在使用 Zend Cache Backend File 来缓存我的项目 尤其是来自外部 Web 服务的响应 我在想是否能找到将结构迁移到 Zend Cache Backend Sqlite 的一些好处 可能的优点是 文件系统有序 缓
  • Google BigQuery 底层架构

    所以我大约 10 分钟前才开始摆弄 Google BigQuery 我想知道是否有人知道他们用来存储数据的底层架构 例如 这只是他们自己的下一代 BigTable 基础设施吗 另外 他们在索引 索引重建等方面使用什么样的策略是否清楚 我只是
  • 在这个 Spring MVC 展示示例中如何使用 @RequestAttribute 和 @ModelAttribute 注释?

    我对 Spring MVC 还很陌生 这段时间我正在学习Spring MVC 展示 https github com spring projects spring mvc showcase可从 STS 仪表板下载示例 我在理解此示例中如何处
  • gpg:抱歉,根本没有请求终端 - 无法获取输入

    解密时出现以下错误 eyaml decrypt s ENC and the key goes on here gnupg quiet no secmem warning no permission warning no tty yes de
  • 如何从控制器访问 Zend Framework 应用程序的配置?

    我有一个基于 Zend 框架的应用程序快速开始 http framework zend com docs quickstart setup 我已经让演示工作起来 现在正在实例化一个新的模型类来完成一些实际工作 在我的控制器中 我想将配置参数
  • 如何检测iPhone是否有视网膜显示屏?

    如何检测 iPhone 是否配备视网膜显示屏 有靠谱的办法吗 要么是纯 PHP 要么最好是 Zend Framework 方式来执行此操作 我通过这个弄清楚了 var retina window devicePixelRatio gt 1
  • 为什么我们需要 RESTful Web 服务?

    我将学习 RESTful Web 服务 最好说我必须这样做 因为它是 CS 硕士学位课程的一部分 我在 Wikipedia 上阅读了一些信息 还在 Sun Developer Network 上阅读了一篇有关 REST 的文章 我发现这不是
  • 以编程方式添加数字签名外观?

    我正在以编程方式对我的 PDF 文件进行签名 并且我想将签名外观添加到 PDF 我需要哪些对象才能实现此目的 我知道我必须Annotations BBox and XObject但我真的不知道按什么顺序以及是否需要其他东西 调试此类内容以找
  • Zend Framework - Flashmessenger - 只有一个字符

    我在使用 FlashMessenger 时遇到了一些问题 当我想检索布局中的消息时 它会写入消息的第一个字母 示例 test 显示 t 我尝试了发布的解决方案这个问题 https stackoverflow com questions 10
  • 将所有代码放入 C++ 头文件中的优点和缺点?

    您可以构造一个 C 程序 以便 几乎 所有代码都驻留在头文件中 它本质上看起来像一个 C 或 Java 程序 但是 您至少需要一个 cppfile 来在编译时拉入所有头文件 现在我知道有些人绝对会讨厌这个想法 但我还没有发现这样做有任何令人
  • 使用Zend实现文件上传进度

    您好 我正在尝试使用 Zend 实现上传进度 但是我还没有找到任何详细的教程 指针会很有用 Thanks 我不记得曾经看过完整详细的教程来解释如何使用 Zend Framework 获取上传进度条 但这里有一些提示 如果您已经了解有关 PH
  • 如何从视图中使用模型函数? - 拉拉维尔 5.4

    我在模型类中创建了一个函数 它是 public function scopetest query return query gt pluck name 我的控制器代码是 public function index books Book al
  • 使用 Zend 实现 WURFL 时出现错误

    我环顾四周 似乎找不到与我有同样问题的人 希望我没有错过这里的叮当声 我想要获取每个用户的设备浏览器信息 我目前计划在引导程序中执行此操作 遵循我在 PHP 会议上看到的内容 为此我遇到了 http framework zend com m
  • 丰富的领域模型和 ORM

    Martin Fowler 认为贫血领域模型是一种反模式 将持久性模型作为域模型进行滚动似乎也严重偏离 因为对象关系阻抗不匹配 http en wikipedia org wiki Object Relational impedance m
  • MVC:如何使用ajax?

    我将使用 Zend Framework MVC 实现启动一个项目 我如何使用ajax 我的意思是 我应该将所有 ajax 代码放入控制器中吗 还是进入视野 例如 我想将作者 ivan 的帖子显示在页面上 通常 我创建一个指向 posts a
  • Zend 框架将字母“f”输出到我的页面上

    我已经下载了 Zend 框架稳定版本 我相信是 1 11 上传到我的服务器 并将其添加到我的 php 包含路径中 我的目标是使用 Feed 和 Feed Writer 模块来处理一些 RSS 和 Atom 的繁重工作 问题是 每当我包含 F
  • MVC 模式中的验证层

    验证模型将使用的数据的最佳位置在哪里 例如 考虑登记表 我们有一些来自注册表的数据 那么验证这些数据的最佳位置在哪里 我们应该通过 if 语句或特殊的验证器类来检查每个数据 这意味着大量的编码 所以我想了解在哪里可以做到这一点 在控制器中
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • Yii2 修改 Model search() 中的 find() 方法

    我试图修改模型搜索中的 find 方法 但它抛出错误 必须设置数据提供程序属性 这是我的搜索模型 public function search params userID Yii app gt user gt identity gt id

随机推荐

  • 使用 Python 将 JSON 插入 MySQL

    我有一个 Python 中的 JSON 对象 我正在使用 Python DB API 和 SimpleJson 我正在尝试将 json 插入 MySQL 表中 目前出现错误 我相信这是由于 JSON 对象中的单引号 造成的 如何使用 Pyt
  • 如何识别该图像中的矩形?

    我有一张带有水平线和垂直线的图像 事实上 这张图片是BBC网站转换成水平线和垂直线的 我的问题是我希望能够找到图像中的所有矩形 我想编写一个计算机程序来查找所有矩形 有谁知道如何做到这一点或提出有关如何开始的想法 作为一个人 这个任务对于我
  • 为什么 Bootstrap 的滚动间谍不工作?

    我有一个简单的 Bootstrap 模式设置 在模式中我有内容nav并设置了滚动间谍 但是 它不起作用 我看到它被激活 但导航从未更新 完整的源代码在这里太长了 你将无法看到我得到的效果 所以我设置了一个jsfiddle http jsfi
  • AAudio 或 OpenSL

    我开始用 C 实现我的游戏音频部分 我看到有 2 个可用的音频框架 AAudio https developer android com ndk guides audio aaudio aaudio html https developer
  • 如何在Unity3D中创建脚本图标?

    I created a scipt and editor for it Now I want to assosiate an icon with it like this 这样的事该怎么办呢 找不到任何文档 http unity3d com
  • 如何从 .NET Core 3.0 WPF 应用程序使用 SOAP Web 服务

    I have a SOAP web service I want to consume it in my WPF app I am using NET Core 3 0 Visual Studio 2019 So I used the Mi
  • 如何计算两个时间字符串之间的时间间隔

    我有两个时间 一个开始时间和一个停止时间 格式为 10 33 26 HH MM SS 我需要两个时间之间的差异 我一直在浏览 Python 文档并在线搜索 我想它可能与日期时间和 或时间模块有关 我无法让它正常工作 并且只在涉及约会时寻找如
  • 在 do...while 中将相关表达式匹配设置为 false

    我正在尝试编写一些非常基本的代码 但我也在正则表达式上挑战自己 我已经能够将代码搞乱到一定程度 但我真正遇到的问题是我试图在表达式为 false 时运行 do while 循环 此时我完全没有收到任何错误 但 do while 循环继续运行
  • 线程冻结主 UI

    Hello我目前正在编写一个服务器监控应用程序 Classes public class Server public string SERVERNAME public string ENVIRONMENT public string VER
  • java.lang.ClassNotFoundException: org.springframework.orm.hibernate4.LocalSessionFactoryBean

    我是 Spring 新手 这是我的第一个示例 JSF 2 PrimeFaces 3 Spring 和 Hibernate 集成 这是pom xml
  • 如何将数组(即列表)列转换为向量

    问题的简短版本 考虑以下代码片段 假设spark已经设置为一些SparkSession from pyspark sql import Row source data Row city Chicago temperatures 1 0 2
  • MATLAB 错误:“以前似乎被用作函数或命令”

    我想创建一个名为 E7stats 的函数 它对 csv 文件中包含的第一个期中考试的分数执行简单的统计分析 该函数接受一个字符串输入 filename csv 文件的名称 并返回一个输出 一个 1 2 结构体数组 S 其两个条目都包含四个字
  • PHP include 导致页面顶部出现空白

    我正在制作的网站遇到问题 我的页面顶部有一行空白 我不知道它是从哪里来的 这可能是因为 php 在我的页面中出现了额外的换行符include 或者可能只是一些有问题的CSS 我得到了它 我必须承认 这是一件非常奇怪的事情 This http
  • 如何总结水晶报表中的公式字段?

    如何在水晶报表中的公式字段上添加运行总计或汇总字段 Sample Report Serial No Premium Commission Net Premium Commission 1 10 4 6 2 40 30 10
  • 解决方案资源管理器中的 Visual Studio 心形叠加。这是什么意思?

    在解决方案资源管理器中 您有时会在类定义节点中看到心形覆盖 它意味着什么 我相信您指的是信号图标 当类型 成员是内部 C 或朋友 VB NET 时 心形会显示在类型 成员上 图标的含义是记录在 Microsoft 文档中 https lea
  • Openpyxl如何通过索引从工作表中获取行

    使用 Openpyxl 和 python3 5 我尝试使用下标从 Excel 工作表中获取第一行 但出现错误 after getting filename after loading worksheet to get the first r
  • C# NotifyIcon ShowBalloonTip 超时

    在我的 C 2 0 框架 应用程序中 我使用通知图标控件 我想从此控件中显示气球提示 但是 showBalloonTip 事件我限制为超时 我想永远显示这个气球 我尝试使用一个计时器来一次又一次地显示气球 但在 vista 中 气球有淡入淡
  • mb_convert_case 未定义函数(Symfony2 FOS/UserBundle)

    在我的 Symfony2 应用程序上 我收到错误 致命错误 在第 18 行 Applications MAMP htdocs application vendor bundles FOS UserBundle Util Canonicali
  • 对JPanel函数的关注:paintComponent()

    你好 我是java编程新手 我需要有人向我解释这些代码行 public class drawpanel extends JPanel public void paintComponent Graphics g super paintComp
  • zend 模型架构

    假设我的数据库中有两个表 项目和用户 我创建了两个扩展 Zend Db Table Abstract 的模型 Model DbTable Users and Model DbTable Projects 现在 创建一个实例是一个好的模式吗