Many application developers shy away from database abstraction tools, in part because of the overhead and new APIs they have to learn, but also because it's difficult for those tools to port complex instructions and queries to each different RDBMS. Abstraction is also made difficult because some of the more popular database systems include vendor-only features.
But I have needs that abstraction would solve - particularly as I work on applications with large and diverse user bases.
And in the case that these users are creating PHP-based applications with my platforms on remotely hosted machines then my job becomes especially difficult since these users might not have the luxury of having PEAR installed.
So, I found myself creating a couple of helpful things.
- A basic database abstraction class for MySQL, Oracle, and MS Access.
- Access to the $SERVER and $REQUEST and $SESSION objects that respect variant settings of register_globals.
I'll post 'em, just in case. Because. You know. Wheel re-inventing avoidance.