PDBwrapper

The pDBwrapper project provides a set of lightweight, high-performance, database abstraction classes for PHP5 developers to use. Each class provides support for a different database engine, i.e. MySQL, DB2, etc.

= Overview = All of the classes support the same API, so once an application is written to use one of them, you can swap in any of the other pDBwrapper classes and your application will function with the new database engine; all without rewriting a single line of your applications code.

The pDBwrapper classes are designed to be very easy to use, highly flexible (i.e. allowing you to tweak the operations for a variety of supported features) and high performance. For example, you can create queries to feed to the classes in more than one way; choose the methodology that best fits your style and experience. Then, when it comes time to send your query to the DB engine, it will be reformatted, if necessary, to work in the most optimal way possible for the particular engine you are using. Even if that engine does not directly support the format of query you wrote, the pDBwrapper classes will convert it for you.

Of course, you could also learn how to rewrite your query in the way your new database engine uses and improve performance even further. However, with the pDBwrapper classes, this is optional.

= Supported Database Engines = Currently, only the MySQL support is complete. The development of the classes to support the other engines listed here is well under way.

MySQL
Works with any version of MySQL server that is supported by PHP5 (which pretty much means all of them).

PostgreSQL
Under development. We originally planned on supporting PostgreSQL versions 7.4.x and 8.0.x and later. We have dropped 7.4.x support and will likely not support 8.0.x either. Current plans are to support 8.1.x, unless 8.2 comes out before we commit the PostgreSQL work.

Microsoft SQL Server
Under development. Code almost ready for first testing.

IBM DB2
I've barely begun development of this one.

Oracle
Specific support for Oracle 8i and 9i will not be included. Support for 10g and 11g will be developed. So far, I have written much of the needed code, but not to a testable point.

SQLite
Development of the support for SQLite has not yet begun. We expect to start writing this one RSN.

Other Databases
The design of the pDBwrapper classes is very clean. This makes them incredibly easy to maintain, extend, audit and understand. It also means that it is very easy to add new classes to the set to support other database engines.

If you use a database engine that we are not currently supporting, and you would like to use pDBwrapper with your engine of choice, let us know. We would be happy to write the support.

= Download = The pDBwrapper classes are provided in source code form.

= Contact Information =

Mailing Lists
'''[ NOTE: Our mailing lists will be set up soon. ]'''

Announce List
This is a low volume, read-only list for announcements related to the pDBwrapper database extraction classes project. Announcements are made for new releases and security alerts.

List members can not post to this list.

General Discussion/User List
This list is for users of the pDBwrapper database abstraction classes.

List members can post to: [mailto:pDBwrapper-user@OpenBrainstem.net pDBwrapper-user@OpenBrainstem.net]

Developer List
This list is for developers involved in writing and maintaining the pDBwrapper classes. This list is not about developers who use pDBwrapper for other projects. Sign up on this list if you want to help develop and maintain any of the pDBwrapper classes, or if you want to discuss bugs you have submitted to the project, or if you want to just keep up with new features that are under development.

List members can post to: [mailto:pDBwrapper-devel@OpenBrainstem.net pDBwrapper-devel@OpenBrainstem.net]

Testing List
This list is for those involved with testing new versions of, and features being created for, the pDBwrapper database abstraction classes.

List members can post to: [mailto:pDBwrapper-test@OpenBrainstem.net pDBwrapper-test@OpenBrainstem.net]

Feature Requests &amp; Bug Reporting
'''[ NOTE: The OpenBrainstem Tracker is not currently online. ]'''

Feature requests (known as a "Request for Enhancement", or RFE) can be posted in the OpenBrainstem Tracker. Select RFE for the severity when adding your request to the pDBwrapper project.

Bug reports can be filed under the pDBwrapper project.