【发布时间】:2011-05-23 19:55:19
【问题描述】:
我们正在使用 Zend 框架开发一个大型 PHP Web 应用程序。
此时,产品开始趋于稳定,我们正在放弃快速而肮脏的设置以避免回归。特别是,我们现在正在使用每个人都可以编辑的单个共享数据库。我们希望尽快摆脱这种情况。
Zend 框架似乎不支持经典的 RAD (Djangoish) 机制,您可以在其中定义数据模型,然后为您创建表。因此,我们正在考虑使用外部 ORM 工具来完成此操作。
我们可以在纯 SQL 中定义我们的架构和初始固定装置,但这是 a) 冗长 b) 容易出错 c) 级别太低 d) 有问题,因为我们必须为每个支持的数据库后端维护不同的版本。
所以我们正在考虑使用像 Doctrine 或 Propel 这样的 ORM 来定义我们的模型,并使用所选框架的方言创建包含初始数据的表。该应用程序使用 Zend 工具进行 ORMing,因此必须手动维护两个工具之间的一致性,但由于现在变化更加渐进,这似乎不是什么大问题。
到目前为止,我们正在为这项任务评估 Doctrine and Propel。关于我们错过的其他 ORM 的任何建议?对于手头的任务,也许完全不同的方法?
谢谢!
贡萨洛
【问题讨论】:
-
仅供参考。我们最终使用 Rails 的 ActiveRecord 和一个名为 standalone-migrations 的模块。这些工具效果很好,但是与 PHP 应用程序一起分发是一件痛苦的事情。 Windows 支持也很烦人,因为在 Windows 上安装 Ruby 很糟糕。我们计划在 PHP 中开发我们自己的等效工具。
-
我们最终使用了 Doctrine,但它也不是很好。请参阅此处了解更多信息:stackoverflow.com/questions/9946585/…
标签: php sql database orm model