使用 Zend Framework 模型定义表关系方法的最佳代码位置是什么?
-
23-08-2019 - |
题
我正在创建一个简单的标签系统,它允许我将标签链接到应用程序中的几乎所有内容。为了促进这一点,我创建了一个名为“对象”的表,由我的模型“对象”引用。
我目前设置了三个模型:
- 标签(带有定义为因塔的tagobject)
- 对象(TagObject 定义为 dependentTable)
- TagObject(在referenceMap中定义了Tag和Object)
我已经创建了一些简单的方法,例如 fetchTagById()
和 fetchTagByName()
在我的标签模型中,但现在我想创建一个方法来获取我的标签及其在对象表中各自的出现,以便创建一个简单的标签云。
从结构角度来看,创建此方法的最佳位置是什么(使用 查找依赖行集())?
不知何故,我觉得将其存储在我的 Tag 模型中并不是很好的做法,但将其存储在我的 TagObject 模型中似乎也很尴尬,并且可能会使事情变得过于复杂。
任何建议将不胜感激。
提前致谢。
解决方案
如果该方法检索标签,那么它应该位于标签模型中。如果它检索对象,它应该在对象模型中。由于您正在检索标签及其出现次数,因此它应该位于标签模型中。
我将模型称为“标签”而不是“标签”,因为“标签”是“标签中的行”,而在 ZF 中,模型通常是表的数据网关。与物体相同。
$tags = new Tags();
$cloud = $tags -> getWithObjectOccurrences();
另一方面,我永远不会将类命名为“对象”或“对象”,因为它太通用了(对象是基本的语言构造)。考虑为其找到一个更具描述性的名称。
不隶属于 StackOverflow