As an unabashed hacker, I'd like to point out one addition that I
personally would really appreciate and find useful. Perl (and hence
mod-perl and/or mason based stuff) has DBI and zope offers their SQL
objects. Sadly, PHP's database stuff, while functional, is a fugly
mess. A layer of abstraction gives at least the illusion of database
independance. And while I certainly can (and have) written n'th tier
layers that encapsulate all the pg_* php function calls, I personally
don't _like_ having to do that kind of stuff. And given the choice,
I always go with a tool that will do it for me.
Of course yet-another-database-interface-layer while certainly a good
and usefull piece of engineering wouldn't be particularly new and
innovative. What _would_ be new and innovate, and maybe even impressive
is a database interface layer that provides not just the usual database
independant connect / query / result stuff but an organized, database
independant way of accessing metadata. Writing SQL queries that derive
metadata by futzing around with the pg_* tables works but is totally
non-portable. What I would really like to see is a database interface
layer that encapsulates all that nasty mess. Metadata and other
introspective stuff is a glaring ommission from SQL.
Well, you _did_ ask... :)