energine
[ class tree: energine ] [ index: energine ] [ all elements ]

Class: DBA

Source Location: /framework/DBA.class.php

Class Overview

Object
   |
   --DBA

Database Abstraction Layer.


Author(s):

  • 1m.dm

Variables

Constants

Methods


Child classes:

QAL
Query Abstraction Layer.

Inherited Constants

Inherited Variables

Inherited Methods

Class: Object

Object::__construct()
Пустой конструктор
Object::getConfigValue()
Нестатический метод-обёртка над Object::_getConfigValue - для удобства использования внутри производных классов.
Object::getTimer()
Возвращает значение счетчика времени выполнения.
Object::resetTimer()
Сбрасывает счетчик времени, возвращает предыдущее значение счетчика
Object::startTimer()
Запускает счетчик времени выполнения.
Object::stopTimer()
Останавливает счетчик времени выполнения.
Object::_getConfigValue()
Возвращает значение указанного параметра конфигурации.

Class Details

[line 23]
Database Abstraction Layer.



Tags:

author:   1m.dm
abstract:  


[ Top ]


Class Variables

$lastQuery =

[line 35]



Tags:

var:   последний запрос к БД
access:   protected

Type:   string


[ Top ]

$lastResult =

[line 41]



Tags:

var:   результат последнего запроса к БД
access:   protected

Type:   mixed


[ Top ]

$pdo =

[line 29]



Tags:

var:   экземпляр класса PDO (PHP Data Objects)
access:   protected

Type:   PDO


[ Top ]



Class Methods


method beginTransaction [line 305]

boolean beginTransaction( )

Стартует транзакцию.



Tags:

access:   public


[ Top ]

constructor __construct [line 131]

void __construct( string $dsn, string $username, string $password, $driverOptions, [ $charset = 'utf8'])

Конструктор класса.



Tags:

access:   public


Overridden in child classes as:

QAL::__construct()
Конструктор класса.

Overrides Object::__construct() (Пустой конструктор)

Parameters:

string   $dsn   Data Source Name для подключения к БД
string   $username   имя пользователя
string   $password   пароль
array   $driverOptions   специфические параметры драйвера БД
   $charset  

[ Top ]

method commit [line 315]

boolean commit( )

Выполняет (commit) транзакцию.



Tags:

access:   public


[ Top ]

method constructQuery [line 507]

string constructQuery( $args)

Формирует строку запроса к БД.



Tags:

see:   DBA::selectRequest()
see:   DBA::modifyRequest()
access:   private


Parameters:

array   $args   массив аргументов, переданных в методы selectRequest и modifyRequest

[ Top ]

method convertType [line 430]

string convertType( string $mysqlType)

Конвертирует тип данных из описания БД (MySQL) в наш, системный тип.



Tags:

access:   private


Parameters:

string   $mysqlType  

[ Top ]

method getColumnsInfo [line 347]

array getColumnsInfo( string $tableName)

Возвращает информацию о колонках таблицы $tableName в виде массива:

array( 'columnName' => array( 'type' => тип колонки, 'length' => длина, 'nullable' => принимает ли значение NULL?, 'key' => описание ключа колонки (если есть), 'default' => значение по-умолчанию, 'index'=> тип индекса ) )




Tags:

staticvar:   $columnsInfo $columnsInfo: - кеш полей таблицы
access:   public


Parameters:

string   $tableName  

[ Top ]

method getForeignKeyInfo [line 405]

mixed getForeignKeyInfo( string $tableName, string $fieldName)

Возвращает информацию о внешнем ключе поля $fieldName таблицы $tableName

в виде массива array( 'tableName' => имя таблицы, 'fieldName' => имя поля ) или false, если $tableName.$fieldName не является первичным ключем.




Tags:

staticvar:   $foreignKeyInfo $columnsInfo: кеш результатов
access:   private


Parameters:

string   $tableName   имя таблицы
string   $fieldName   имя поля

[ Top ]

method getLastError [line 296]

string getLastError( )

Возвращает последнюю ошибку



Tags:

access:   public


[ Top ]

method getLastRequest [line 276]

string getLastRequest( )

Возвращает последний запрос к БД.



Tags:

access:   public


[ Top ]

method getLastResult [line 286]

mixed getLastResult( )

Возвращает результат последнего запроса к БД.



Tags:

access:   public


[ Top ]

method getTranslationTablename [line 487]

mixed getTranslationTablename( string $tableName)

Возвращает для таблицы $tableName имя таблицы с переводами, если такая существует. В противном случае возвращает false.



Tags:

access:   public


Parameters:

string   $tableName  

[ Top ]

method modifyRequest [line 232]

mixed modifyRequest( string $query)

Выполняет модифицирующую (INSERT, UPDATE, DELETE) операцию в БД.

Если количество аргументов метода больше 1, тогда $query трактуется как строка формата подобно функции printf, а дополнительные аргументы экранируются и помещаются на место меток (placeholder) строки $query.

Возвращает в результате:

  1. Последний сгенерированный ID для поля типа AUTO_INCREMENT, или
  2. true, если запрос выполнен успешно;
2. false, в случае неудачи.




Tags:

see:   printf()
access:   public


Parameters:

string   $query  

[ Top ]

method quote [line 266]

string quote( string $string)

Ставит кавычки вокруг входной строки (если необходимо) и экранирует специальные символы внутри входной строки.



Tags:

access:   public


Parameters:

string   $string  

[ Top ]

method rollback [line 325]

boolean rollback( )

Откатывает транзакцию.



Tags:

access:   public


[ Top ]

method selectRequest [line 164]

mixed selectRequest( string $query, mixed $var,)

Выполняет SELECT-запрос к БД.

Если количество аргументов метода больше 1, тогда $query трактуется как строка формата подобно функции printf, а дополнительные аргументы экранируются и помещаются на место меток (placeholder) строки $query.

Возвращает в результате:

  1. Массив вида array( rowID => array(fieldName => fieldValue, ...) ) если запрос исполнился успешно и вернул какие-либо строки;
  2. true, если запрос исполнился успешно, но не вернул ни одной строки;
  3. false, если при выполнении запроса произошла ошибка.




Tags:

see:   printf()
access:   public


Parameters:

string   $query   SELECT-запрос к БД
mixed   $var,   ...

[ Top ]


Class Constants

COLTYPE_BLOB =  'BLOB'

[line 96]

Бинарные данные


[ Top ]

COLTYPE_DATE =  'DATE'

[line 60]

Дата


[ Top ]

COLTYPE_DATETIME =  'DATETIME'

[line 75]

Дата и время


[ Top ]

COLTYPE_FLOAT =  'FLOAT'

[line 55]

Число с плавающей точкой


[ Top ]

COLTYPE_INTEGER =  'INT'

[line 50]

Целое число


[ Top ]

COLTYPE_STRING =  'VARCHAR'

[line 80]

Строка


[ Top ]

COLTYPE_STRING1 =  'STRING'

[line 85]

Типы строк только для внутреннего использования. Без комментариев :)


[ Top ]

COLTYPE_STRING2 =  'VAR_STRING'

[line 86]


[ Top ]

COLTYPE_TEXT =  'TEXT'

[line 91]

Текст


[ Top ]

COLTYPE_TIME =  'TIME'

[line 65]

Время


[ Top ]

COLTYPE_TIMESTAMP =  'TIMESTAMP'

[line 70]

Timestamp


[ Top ]

ERR_BAD_REQUEST =  'ERR_DATABASE_ERROR'

[line 101]

Ошибки


[ Top ]

INDEX =  'MUL'

[line 119]

Индекс


[ Top ]

PRIMARY_INDEX =  'PRI'

[line 107]

Первичный индекс


[ Top ]

UNIQUE_INDEX =  'UNI'

[line 113]

Уникальный индекс


[ Top ]


В создании документации нам помог: phpDocumentor