Wrapping on PHP OCI functions to simulate a PDO object, using just pure PHP and the oci_* functions.
Let's face it. Installing PHP, PDO, Oracle drivers and PDO OCI is not a pleasant task. Is more pleasant to insert bamboo sticks under your fingernails than make all the voodoo needed to accomplish that task. And there are two big problems with that:
-
If you install
pdo_oci
withpecl
you'll get a version from 2005 (http://pecl.php.net/package/PDO_OCI). Even Christian Bale is now far from the things from 2005, and wow, he had a cool suit and a very nice car. And all came in black. -
If you follow the official docs, you'll need to compile PHP and still get an experimental extension (http://www.php.net/manual/ref.pdo-oci.php). Come on. We can't (yeah, we know how to do it!) compile PHP on every server we need and just for an experimental feature?
That's why I made PDOOCI
.
Just install the Oracle drivers (I like the instant client versions) and the
oci8
package (with pecl
, this one seems to be updated often). Then require
the pdooci.php
file and change some existing code like
$pdo = new PDO("oci:dbname=mydatabase;charset=utf8", "user", "password");
to
require_once "pdooci.php";
$pdo = new PDOOCI\PDO("mydatabase", "user", "password");
Yeah, the rest should work exactly the same as if you were using a PDO object. :-)
There is a test suite (using PHPUnit
) on the test
directory. If you want to
test (you must test your code!), create a table called people
with two
columns:
name
asvarchar2(50)
email
asvarchar2(30)
And some environment variables:
PDOOCI_user
with the database user namePDOOCI_pwd
with the database passwordPDOOCI_str
with the database connection string
And then go to the test
dir and run PHPUnit
like:
phpunit --colors .