File: /var/www/limestate-api/lib/dblib/iDbDriver.php
<?php
interface iDb_Driver
{
/**
* Создание конструктора запроса к БД
*
* @return iDb_Select
*/
public function select();
/**
* Инициализация
*
* @param array $config массив параметров
* @return $this
*/
public function init($config);
/**
* Запуск транзакции
*
* @return bool
*/
public function begin();
/**
* Завершение транзакции
*
* @return bool
*/
public function commit();
/**
* Откат транзакции
*
* @return bool
*/
public function rollback();
/**
* Выборка записей из БД
*
* @param string $query строка запроса
* @param string $server сервер бд read|write
* @return mixed
*/
public function query($query, $server = null);
/**
* Добавление записей в БД. Возвращает последний идентификатор вставленной строки.
*
* @param string $tableName название таблицы БД
* @param array $fields массив полей
* @param array $aData массив массивов данных
* @param bool $returning возвращать добавленные записи
* @return int|bool
*/
public function insert($tableName, $fields, $aData, $returning = true);
/**
* Обновление записей в БД
*
* @param string $tableName название таблицы БД
* @param array $aData массив данных
* @param string|array $where фильтр обновляемых записей
* @return int
*/
public function update($tableName, $aData, $where = null);
/**
* Обновление записей по уникальному ключу, в случае отсутствия создает их
*
* @param string $tableName название таблицы БД
* @param array $fields массив полей
* @param array $aData массив данных
* @return bool
*/
//public function replace($tableName, $fields, $aData);
/**
* Удаление записей из БД
*
* @param string $tableName название таблицы БД
* @param string|array $where фильтр удаляемых записей
* @param bool $returning возвращать удаленные записи
* @return bool|object[]
*/
public function delete($tableName, $where = null, $returning = false);
/**
* Возвращает массив значений первого столбца записей
*
* @param iDb_Select|string $query строка запроса
* @param string $server сервер БД read|write
* @return array
*/
public function fetchCol($query, $server = null);
/**
* Возвращает массив объектов записей соответствующие запросу
*
* @param iDb_Select|string $query строка запроса
* @param string $server сервер БД read|write
* @return object[]
*/
public function fetchAll($query, $server = null);
/**
* Возвращает массив массивов записей соответствующие запросу
*
* @param iDb_Select|string $query строка запроса
* @param string $server сервер БД read|write
* @return array
*/
public function fetchArray($query, $server = null);
/**
* Возвращает массив записей соответствующие запросу, причем ключами являются значения первой колонки записей
*
* @param iDb_Select|string $query строка запроса
* @param string $server сервер БД read|write
* @return object[]
*/
public function fetchAssoc($query, $server = null);
/**
* Возвращает значение первой колонки записи соответствующей запросу
*
* @param iDb_Select|string $query строка запроса
* @param string $server сервер БД read|write
* @return mixed
*/
public function fetchOne($query, $server = null);
/**
* Возвращает объект записи соответствующей запросу
*
* @param iDb_Select|string $query строка запроса
* @param string $server сервер БД read|write
* @return object|null
*/
public function fetchRow($query, $server = null);
/**
* Значение обрамляется кавычками
*
* @param mixed $value
* @return string
*/
public function quote($value);
/**
* Включение/выключение логирование запросов
*
* @param bool $value
* @return $this
*/
public function log($value = true);
/**
* Возвращает массив лога запросов
*
* @return array
*/
public function getLog();
/**
* Подготавливает запрос, заменяя вопросы(?) на данные в строке запроса
*
* @param string $query строка запроса
* @param mixed $dataArray массив данных
* @throws Exception недостаток заменяющих параметров
*/
public function prepareData(&$query, $dataArray);
/**
* Подготавливает строку условий запроса
*
* @param array $whereArray массив условий, где ключ это название поля, а значение его значение
* @return string
*/
public function prepareWhere($whereArray);
}