2017 © Pedro Peláez
 

library oracle-db

Wrapper around oci8 php extension to access Oracle Database

image

nightlinus/oracle-db

Wrapper around oci8 php extension to access Oracle Database

  • Thursday, May 17, 2018
  • by nightlinus
  • Repository
  • 3 Watchers
  • 1 Stars
  • 338 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 15 Versions
  • 10 % Grown

The README.md

OracleDb

Пакет OrackleDb предоставляет собой легковесную обертку вокруг расширения oci8 для php., (*1)

Введение

Установка

Эта библиотека требует PHP 5.5 или более позднюю версию. Установка возможна через composer из custom repository., (*2)

Начинаем работать

Создать новый инстанс БД можно следующим образом, (*3)

<?php
use nightlinus\OracleDb\Database;

$db = new Database("USER", "password", "DEV");

При этом соединение с базой происходит только при первом обращении к ней. Соединение может быть как общее для всех инстансов класса, так и отдельным для каждого инстанса, это контролируется конфигурационной переменной connection.cache, (*4)


$db->config('connection.cache', true);

В таком виде текущий инстанс будет использовать уже имеющееся соединение с базой данных, (*5)


$db->config('connection.cache', false);

В таком — будет использовать всегда новое соединение с базой данных. Данное воведение выставлено по умолчанию., (*6)

Список текущих настроек и их значения по умолчанию: * session.charset => AL32UTF8 * session.autocommit => false * session.dateFormat => DD.MM.YYYY HH24:MI:SS * session.dateLanguage => false * connection.persistent => false * connection.privileged => OCI_DEFAULT * connection.cache => false * connection.class => false * connection.edition => false * client.identifier => * client.info => * client.moduleName => * profiler.enabled => false * profiler.class => NAMESPACE . \Profiler * statement.cache.enabled => true * statement.cache.size => 50 * statement.cache.class => NAMESPACE . \StatementCache, (*7)

Создание Statement'a

В библиотеке представлены 2 способа инстанциировать Statement:, (*8)

$sql = 'SELECT * FROM DUAL';
$statement = $db->prepare($sql);

или, (*9)


$sql = 'SELECT * FROM DUAL'; $statement = $db->query($sql);

Во втором случае Statement будет сразу выполнен (неявно вызван метод execute)., (*10)

Связывание переменных

Связывание можно выполнить 2 способами: Через функции bind*, (*11)


$sql = 'SELECT *, :b_var FROM DUAL'; $statement = $db->prepare($sql); $statement->bind(['b_var' => 1]);

Или же непосредственно из функции query:, (*12)


$sql = 'SELECT *, :b_var FROM DUAL'; $statement = $db->query($sql, ['b_var' => 1]);

NB: связывание происходит не с переданным массивом, а со свойством Statementа bindings в котором хранятся значение IN, а так же OUT переменных., (*13)

Получение данных

Библиотека основана на генераторах, которые моут быть возвращены из любого метода получения данных, возвращающего несколько кортежей., (*14)


$sql = 'SELECT * FROM customers'; $statement = $db->query($sql); foreach($statement as $row) { var_dump($row); } $statement->execute() //Делаем вохможным получение данных повторно ->setReturnType($statement::RETURN_ITERATOR); //из fetch* функция возвращаем итератор, а не готовый массив foreach($statement->fetchMap() as $map) { var_dump($map['123']) }

The Versions

17/05 2018

dev-master

9999999-dev

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

The Requires

  • php ^7.1
  • ext-oci8 *

 

The Development Requires

by Mikhail.Ogarkov

17/05 2018

v0.4.5

0.4.5.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

The Requires

  • php ^7.1
  • ext-oci8 *

 

The Development Requires

by Mikhail.Ogarkov

13/04 2018

v0.4.4

0.4.4.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

The Requires

  • php ^7.1
  • ext-oci8 *

 

The Development Requires

by Mikhail.Ogarkov

11/04 2018

v0.4.3

0.4.3.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

The Requires

  • php ^7.1
  • ext-oci8 *

 

The Development Requires

by Mikhail.Ogarkov

11/04 2018

v0.4.2

0.4.2.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

The Requires

  • php ^7.1
  • ext-oci8 *

 

The Development Requires

by Mikhail.Ogarkov

11/04 2018

v0.4.1

0.4.1.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

The Requires

  • php ^7.1
  • ext-oci8 *

 

The Development Requires

by Mikhail.Ogarkov

10/04 2018

v0.4

0.4.0.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

The Requires

  • php ^7.1
  • ext-oci8 *

 

The Development Requires

by Mikhail.Ogarkov

08/01 2015

v0.3.5

0.3.5.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

by Mikhail.Ogarkov

07/01 2015

v0.3.4

0.3.4.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

by Mikhail.Ogarkov

11/11 2014

v0.3.3

0.3.3.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

by Mikhail.Ogarkov

03/11 2014

v0.3.2

0.3.2.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

by Mikhail.Ogarkov

29/10 2014

v0.3.1

0.3.1.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

by Mikhail.Ogarkov

25/10 2014

dev-driver

dev-driver

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

by Mikhail.Ogarkov

25/10 2014

v0.3.0

0.3.0.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

by Mikhail.Ogarkov

07/10 2014

v0.1.1

0.1.1.0

Wrapper around oci8 php extension to access Oracle Database

  Sources   Download

MIT

by Mikhail.Ogarkov