gpt4 book ai didi

php - 一起为多个表设计 Zend 模型?

转载 作者:行者123 更新时间:2023-12-04 06:36:56 25 4
gpt4 key购买 nike

我正在使用 Zend Framework 构建一个 Web 界面,用于为自定义 CMS 的用户设置 ACL(权限)。由于 ACL 数据分布在 5 个表(用户、组、权限、urls=action+controller、用户理解的好权限名称)中,并且我只有一个带有四个基本 CRUD(创建、列表、更新、删除)的 Controller ) 操作我想知道最好的方法是什么?

我书中的所有例子我都看到了 每个模型扩展 Zend_Db_Table_Abstract 并因此代表一张表 .

我在想我必须做一个不扩展 zend_db_table_abstract 的模型,然后手动编写我需要的查询,从而将自己限制在 mysql 数据库中?

附言请不要争论 acl 数据库结构

谢谢你

最佳答案

definition of the Table Data Gateway pattern

An object that acts as a Gateway to a database table. One instance handles all the rows in the table.



这就是为什么您不会在 Zend Framework 中看到它以任何不同的方式使用的原因。这是一个 Data Source Architectural Patterns而您要问的是特定于域的类。

您遇到的是 Impedance Mismatch ,这意味着您的业务对象与您的数据库设计结构不匹配。常见的解决方案是使用 DataMapperORM为你处理。

另一种解决方案是在您的数据库中创建一个 View ,该 View 以 1:1 映射到您所需的业务对象的方式连接表。然后添加一个 Zend_Db_Table对于那个观点。不过,您仍然需要提出自定义的创建、更新、删除逻辑。虽然这不是数据映射,但是如果您没有任何要映射到的业务/域类,那也没关系。

关于php - 一起为多个表设计 Zend 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4768449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com