Hi,
[Ard]
First of all, in my opinion it would be more useful to concentrate on a
true cross-database PHP-level data-object API which can really hide
the differences between db implementations, instead of using the exact
same function names, and ignoring the implementation differences
between the various systems. I'd rather implement buffered queries at the
PHP-level for all extensions instead of for Interbase only.
I just skim the php-dev list nowadays, but this seems a bit like what the
dbx extension does (I wrote that). Now I know dbx is just a lightweight
wrapper that doesn't try to emulate specific functionality, and it may still
need some more wrapper functions (like commit/rollback and parameter
binding) and support for more databases and a better efficiency, but one
thing it does is provide a common api and common behaviour for all supported
databases (no, Interbase is not among them, but feel free... :-)
It does return buffered resultsets for all queries (except when the
unbuffered flag is set). It also includes a testset that you can use with
any of the supported databases. There are now only very few quirks between
databases.
I've used it in production with MySQL, ODBC (MS Access really) and Oracle,
where I develop in MySQL and deploy in any other: the only modification I
must make before deployment is the dbx_connect call: it must specify the
correct parameters. Note that you should take care to make your
SQL-statements portable too.
Anyway, this plug has gone on too long now... :-)
Cheerio, Marc.
I just skim the php-dev list nowadays, but this seems a bit like what
the
dbx extension does (I wrote that). Now I know dbx is just a
lightweight
wrapper that doesn't try to emulate specific functionality, and it may
still
need some more wrapper functions (like commit/rollback and
parameter
binding) and support for more databases and a better efficiency,
but one
thing it does is provide a common api and common behaviour for
all supported
databases (no, Interbase is not among them, but feel free... :-)
IMO there are some problems with the dbx extension:
- it is a wrapper for PHP modules instead for the underlying
database API (therefore slower) - you cannot rely on it if you depend on an ISP that does not support
this extension - it does not include a C API that would be useful for custom PHP
modules to access a database - it does not include an OOP API
My dream is a "full featured" SQL extension completely replacing all
other database modules, fast, flexible, build-in by default,
recommended to be the best way to access databases in PHP.
It should include a C API for extension developers as well as OO
(like PEAR::DB) and procedural (like mysql ext) PHP APIs.
Just my two cents....
--
Ferdinand Beyer
<fb@fbeyer.com