\IrisPDO

Расширение класса PDO

В классе реадизована возможность логирования запросов, создания постоянного соединения, механизм вложенных транзакций

Summary

Methods
Properties
Constants
__construct()
beginTransaction()
commit()
rollBack()
setLogType()
doNotLog()
$logType
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Properties

$logType

$logType

Какие запросы необходимо логировать

Подробнее о настройках логирования запросов http://iris-crm.ru/query-log-settings

Methods

__construct()

__construct($dsn, $username, $password, $driver_options) : \IrisPDO

Переопределенный конструктор PDO

Конструктор PDO переопределен таким образом, чтобы создавалось постоянное соединение, если логирование отключено. Это позволяет увеличить производительность. Если логирование включено, то при каждом веб-запросе соединение будет создаваться заново, но вместо PDOStatement будет использоваться IrisPDOStatement с расширенными возможностями для логирования запросов.

Parameters

$dsn
$username
$password
$driver_options

Returns

\IrisPDO

beginTransaction()

beginTransaction() : int

Начало вложенной транзакции

Если создается вложенная транзакция, то запросы будут выполняться в единой транзакции. Изменения в БД отправляются в момент, когда выполняется IrisPDO::commit() последнего уровня вложенности.

Returns

int —

Текущий уровень вложенности. 0 - без транзакции.

commit()

commit() : int

Конец вложенной транзакции

Изменения в БД отправляются при завершении транзакции последнего уровня вложенности.

Returns

int —

Текущий уровень вложенности. 0 - без транзакции.

rollBack()

rollBack() : bool

Откат вложенной транзакции

Returns

bool —

true при успешном откате транзакции, иначе false.

setLogType()

setLogType(string$logType) : void

Какие запросы логировать

Parameters

string $logType

Строка с вариантами, разделенными символом "|". Подробнее о формате строки: http://iris-crm.ru/query-log-settings

Примеры: '!select', 'insert|update|structure', 'error', 'all'

doNotLog()

doNotLog() : void

Не логировать следующий запрос

Следующий запрос, выполненный следом за этой командой, никогда не будет логироваться независимо от настроек логирования