jpina/oci8

Oracle database wrapper for PHP oci8 functions

1.0.1 2016-02-28 19:03 UTC

This package is not auto-updated.

Last update: 2024-11-09 19:58:04 UTC


README

Package information:

Latest Version on Packagist Software License Build Status Dependencies Status PHP 7 ready Total Downloads

Code Information:

Code Coverage Scrutinizer Score Code Climate Score

SensioLabsInsight Score

Oci8 is a wrapper for the PHP Oracle OCI functions that allows interaction with Oracle databases by using objects in place of the regular oci_* functions.

Oci8 converts the warnings thrown by the oci_* function into Oci8Exceptions for better error handling.

Install

Via Composer

$ composer require jpina/oci8

Usage

Connect to a database, execute a query and fetch a row:

$db = new Jpina\Oci8Connection('username', 'password', '//localhost:1521/XE');
$statement = $db->parse('SELECT * FROM dual');
$statement->execute();
$row = $statement->fetchAssoc();

Handing errors

try {
    $db = new Jpina\Oci8Connection('username', 'password', '//localhost:1521/XE');
    // Closing database to force an error on next statement
    $db->close();
    // This statement will throw an Oci8Exception since there is no active connection
    $statement = $db->parse('SELECT * FROM dual');
} catch (Jpina\Oci8Exception $ex) {
    // Handle the Exception
}

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

In order to run the tests you will need access to an Oracle Database and copy the .env.example to .env, then you can provide your own values within the .env, these values will be used by the tests to connect to the database.

You can run the tests with composer once you have your .env file configured properly.

$ composer test

If you don't have access to an Oracle Database server, you can also run a docker container like wnameless/oracle-xe-11g and then connect to it to run the tests against a containerized Oracle Database.

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email jabdhel@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.