gpt4 book ai didi

php - Zend Framework 的数据库组件的推荐实践?

转载 作者:可可西里 更新时间:2023-10-31 23:50:14 25 4
gpt4 key购买 nike

这里先介绍一下背景:

我正在使用 Zend Framework 在 PHP 中编写一个项目,并且我有一些来自过去与客户的 session 的 E/R 图。数据库模式是为 MySQL 编写的,现在是时候在 Zend 中实现我的模型了。我是 Zend 的新手,所以我不知道如何开始很好地编写这段代码。

我在阅读他们的文档时注意到的第一件事是快速指南使用了数据网关 模式,但他们的 Zend_DB 引用页面没有。

// Data Gateway Sample
// <application/models/UserMapper.php>
class Application_Model_UserMapper()
{
// ... Methods to read/write from DB
}

// <application/models/DbTable/Users.php>
class Application_Model_DbTable_Users
{
// Relationship infromation etc.
}

// <application/models/User.php>
class Application_Model_User
{
// At last, model specific data
// using UserMapper->find($id, $model);
}

在浏览了一段时间的 stackoverflow 以期找到有关如何最有效地组织模型的指示后,我遇到了 yet another different recommended solution.

现在上面链接的解决方案看起来非常干净,但在我开始编写代码之前它仍然在我脑海中留下一个问题:

我应该使用 Row_Abstract 子类来存储数据模型,还是应该制作单独的模型,这些模型除了存储检索到的数据外没有其他用途?

后一个看起来像是很多重复的工作(Model_DbTable、Model、Mapper、[Row?])

// What I have in mind
// <application/models/DbTable/Users.php>
class Application_Model_DbTable_Users
{
// Relationship infromation etc.
}

// <application/models/User.php
class Application_Model_User extends Zend_Db_Table_Row_Abstract
{
// Model stuff here
// Relationship fetch helpers here
// ...?
}

// Perhaps a Rowset_Abstract class if it is ever needed?

最佳答案

我推荐的 Zend DB 最佳实践是……不要使用它。这些组件非常基本,并没有太大帮助。如果可以,请改用 Doctrine,这样会好很多。

关于php - Zend Framework 的数据库组件的推荐实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6480195/

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