迄今为止最好的PHP DAL(数据抽象层)

sak*_*zai 24 php database database-abstraction

迄今为止在任何开源项目下开发的最佳PHP DAL(数据抽象层)是什么,我们可以真诚地重复使用它们?

我发现很难为我的应用程序选择一个DAL,它足以支持对大多数常见数据库系统(MySQL,PostgreSQL,MSSQL,Oracle等)的抽象,并且是:

  1. 广泛测试,
  2. 具有良好的接口(可读的方法名称,良好的参数传递策略),
  3. 快速,
  4. 轻巧,
  5. 提供缓存(例如与Memcache集成或支持良好的缓存机制),
  6. 开源许可证,
  7. 应该至少有MySQL/MySQLi的适配器(非基于PDO)

一些要考虑的图书馆:

请不要考虑:

  • PDO
  • 所有ORM(但是,除了ORM,Doctrine似乎还有一个单独的DAL)

xma*_*cos 11

如果您可以使用PHP 5.3,我强烈推荐Doctrine DAL,它建立在PDO之上,因此您可以获得相同的性能和一个出色的API.

更新:如果Doctrine不好,您可以尝试MDB2.它具有大多数流行的RDBMS的驱动程序,强大的API,出色的文档和庞大的用户群:

  • MySQL的
  • MySQLi(仅限PHP5)
  • PostgreSQL的
  • 神谕
  • Frontbase
  • Interbase/Firebird(仅限PHP5)
  • MSSQL
  • SQLite的

  • @sakhunzai,你为什么不想要基于PDO的东西?你应该在这里和你的问题中真正概述这样一个原因. (3认同)

Jor*_*ers 2

我对Propel有很好的经验。教义是相似的,我听说过有关它的好消息,但我没有经验。