到目前为止,在我们可以善意重复使用的任何开源项目下开发的最好的 PHP DAL(数据抽象层)是什么?
我发现很难为我的应用程序选择一个充分支持对大多数常见数据库系统(MySQL、PostgreSQL、MSSQL、Oracle 等)的抽象的 DAL,并且是:
- 经过广泛测试,
- 具有良好的界面(可读的方法名称,良好的参数传递策略),
- 快,
- 轻量级,
- 提供缓存(例如与 Memcache 集成或支持良好的缓存机制),
- 开源许可证,
- 至少应该有 MySQL/MySQLi(非基于 PDO)的适配器
需要考虑的一些库:
- PHPBB DAL http://wiki.phpbb.com/Database_Abstraction_Layer
- Joomla DAL http://api.joomla.org/Joomla-Framework/Database/JDatabase.html
- ADOdb http://phplens.com/adodb/
- Zend_db
- Doctrine(下行仅支持 PDO_*)
- 在任何开源项目/分支下使用/开发的任何其他 DAL
请不要考虑:
- PDO
- 所有 ORM(不过,Doctrine 似乎除了 ORM 之外还有一个单独的 DAL)
最佳答案
如果您可以使用 PHP 5.3,我强烈推荐 Doctrine DAL ,它建立在 PDO 之上,因此您可以获得相同的性能和出色的 API。
更新:如果Doctrine不好,可以试试MDB2 .它具有适用于大多数流行 RDBMS 的驱动程序、强大的 API、出色的文档和庞大的用户群:
- MySQL
- MySQLi(仅限 PHP5)
- PostgreSQL
- 甲骨文
- 前台
- Interbase/Firebird(仅限 PHP5)
- MSSQL
- SQLite
关于php - 迄今为止最好的 PHP DAL(数据抽象层),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7807851/