What is the best PHP DAL (data abstraction layer) so far developed under any open source project which we could re-use with good faith?
I am finding it hard to choose a DAL for my application that sufficiently supports abstraction to most common databases systems (MySQL, PostgreSQL, MSSQL, Oracle, etc) and is:
- widely tested,
- has good interface (readable method names, good parameter passing strategy),
- fast,
- lightweight,
- providing cache (e.g integrates with Memcache or supports a good caching mechanism),
- open-source license,
- should have adapters for at least MySQL/MySQLi (non-PDO based)
Some of the libararies to consider:
- 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 (downside only supports PDO_*)
- any other DAL used/developed under any open-source project/branch
Please don't consider:
- PDO
- All ORMs (however, Doctrine seems to have a separate DAL besides ORM)
What about Zend_Db? The only thing that for caching you need Zend_Cache, and lightweight is vague thing. All other requirements are matched I guess.