Класс Connection
Представляет соединение с сервером базы данных.
- Cake\Database\Connection реализует Cake\Datasource\ConnectionInterface использует Cake\Database\TypeConverterTrait
Краткое описание свойств
-
$_configprotectedСодержит параметры конфигурации для этого соединения.array -
$_driverprotectedОбъект драйвера, отвечающий за создание реального соединения и предоставление конкретного диалекта SQL.
-
$_logQueriesprotectedВключает или отключает протоколирование запросов, сгенерированных во время этого соединения.boolean -
$_loggerprotectedЭкземпляр объекта логгера.Cake\Database\Log\QueryLogger - Объект коллекции схем.
$_schemaCollectionprotected -
$_transactionLevelprotectedСодержит количество вложенных транзакций, которые были начаты.integer -
$_transactionStartedprotectedУказывает, активна ли транзакция в этом соединении.boolean -
$_useSavePointsprotectedbooleanУказывает, может ли и должно ли это соединение использовать контрольные точки для вложенных транзакций.
Краткое описание методов
- __construct() publicКонструктор.
- __debugInfo() public
Возвращает массив, который может использоваться для описания внутреннего состояния этого объекта.
- __destruct() publicДеструктор
- _newLogger() protected
Возвращает новый объект инструкции, который будет записывать действия для переданного исходного экземпляра инструкции.
- begin() publicИнициализирует новую транзакцию.
- cacheMetadata() publicВключает или отключает кэширование метаданных для этого соединения
- commit() publicПодтверждает текущую транзакцию.
- compileQuery() public
Компилирует объект Query в строку SQL в соответствии с диалектом для драйвера этого соединения.
- config() publicПолучает данные конфигурации, используемые для создания соединения.
- configName() publicПолучает имя конфигурации для этого соединения.
- connect() publicПодключается к указанной базе данных.
- createSavePoint() publicСоздаёт новую контрольную точку для вложенных транзакций.
- delete() publicВыполняет оператор DELETE для указанной таблицы.
- disableConstraints() publicВыполняет операцию с отключёнными ограничениями.
- disableForeignKeys() publicВыполняет специфичную для драйвера SQL операцию для отключения проверок внешних ключей.
- disconnect() publicОтсоединяется от сервера базы данных.
- driver() public
Устанавливает экземпляр драйвера. Если передана строка, она будет обработана как имя класса и будет создана.
- enableForeignKeys() publicВыполняет специфичную для драйвера SQL операцию для включения проверок внешних ключей.
- execute() public
Выполняет запрос, используя $params для интерполяции значений и $types в качестве подсказки для каждого из этих параметров.
- inTransaction() publicПроверяет, выполняется ли транзакция.
- insert() publicВыполняет запрос INSERT для указанной таблицы.
- isConnected() publicВозвращает, установлено ли соединение с сервером базы данных.
- log() publicЗаписывает строку запроса, используя настроенный объект логгера.
- logQueries() publicВключает или отключает протоколирование запросов для этого соединения.
- logger() public
Устанавливает экземпляр объекта логгера. Если вызывается без аргументов, возвращает текущий установленный экземпляр логгера.
- newQuery() publicСоздаёт новый экземпляр Query для этого соединения.
- prepare() publicПодготавливает инструкцию SQL для выполнения.
- query() publicВыполняет инструкцию SQL и возвращает объект Statement в качестве результата.
- quote() publicПриводит значение к виду, пригодного для использования в запросе к базе данных.
- quoteIdentifier() public
Приводит идентификатор базы данных (имя столбца, имя таблицы и т.д.) к виду, пригодного для использования в запросах без риска использования зарезервированных слов.
- releaseSavePoint() publicОсвобождает контрольную точку по её имени.
- rollback() publicОтменяет текущую транзакцию.
- rollbackSavepoint() publicОтменяет контрольную точку по её имени.
- run() public
Выполняет предоставленный запрос после его компиляции для диалекта конкретного драйвера и возвращает выполненный объект Statement.
- schemaCollection() publicПолучает или устанавливает объект Schema\Collection для этого соединения.
- supportsDynamicConstraints() public
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
- supportsQuoting() publicПроверяет, поддерживает ли драйвер цитирование.
- transactional() public
Выполняет переданную лямбда-функцию внутри транзакции. Если при выполнении переданной лямбда-функции произойдёт исключение, транзакция будет отменена. Если результат выполнения лямбда-функции равен
false, транзакция также будет отменена. В противном случае транзакция завершается после выполнения обратного вызова. - update() publicВыполняет оператор UPDATE для указанной таблицы.
- useSavePoints() public
Возвращает, использует ли это соединение контрольные точки для вложенных транзакций. Если в качестве аргумента передано значение boolean, это значение включит/выключит использование контрольных точек только в том случае, если драйвер это позволяет.
Подробное описание методов
__construct()source public
__construct( array $config )
Конструктор.
Параметры
- массив
$config - конфигурация для подключения к базе данных
__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array_newLogger()source protected
_newLogger( Cake\Database\StatementInterface $statement )
Возвращает новый объект запроса, который будет регистрировать активность для переданного исходного объекта запроса.
Параметры
-
Cake\Database\StatementInterface$statement - экземпляр для декорирования
Возвращает
Cake\Database\Log\LoggingStatementcacheMetadata()source public
cacheMetadata( boolean|string $cache )
Включает или отключает кеширование метаданных для этого подключения.
Изменение этого параметра не повлияет на существующие объекты коллекций схемы.
Параметры
- boolean|string
$cache Либо значение false для отключения кеширования метаданных, либо значение true для использования
_cake_model_, или имя конфигурации кеша для использования.
commit()source public
commit( )
Подтверждает текущую транзакцию.
Возвращает
booleantrue при успехе, false в противном случае
compileQuery()source public
compileQuery( Cake\Database\Query $query , Cake\Database\ValueBinder $generator )
Компилирует объект запроса в строку SQL в соответствии с диалектом для драйвера этого подключения.
Параметры
-
Cake\Database\Query$query - Запрос, который нужно скомпилировать
- Cake\Database\ValueBinder
$generator - Генератор заменителей, который нужно использовать
Возвращает
stringconfig()source public
config( )
Получить данные конфигурации, используемые для создания подключения.
Возвращает
arrayРеализация
Cake\Datasource\ConnectionInterface::config() configName()source public
configName( )
Получить имя конфигурации для этого подключения.
Возвращает
stringРеализация
Cake\Datasource\ConnectionInterface::configName() connect()source public
connect( )
Подключается к базе данных, заданной в конфигурации.
Возвращает
booleantrue в случае успеха или false, если подключение уже установлено.
Выбрасывает
Cake\Database\Exception\MissingConnectionExceptionесли данные аутентификации неверны
createSavePoint()source public
createSavePoint( string $name )
Создает новую точку сохранения для вложенных транзакций.
Параметры
- string
$name - Имя точки сохранения.
delete()source public
delete( string $table , array $conditions [] , array $types [] )
Выполняет операцию DELETE на указанной таблице.
Параметры
- string
$table - таблица для удаления строк
- array
$conditionsнеобязательно [] - условия для оператора удаления
- array
$typesнеобязательно [] - список ассоциативных массивов, содержащих типы, которые нужно использовать для преобразования
Возвращает
Cake\Database\StatementInterfacedisableConstraints()source public
disableConstraints( callable $callback )
Выполняет операцию с отключенными ограничениями.
Пример:
$connection->disableConstraints(function ($connection) {
$connection->newQuery()->delete('users')->execute();
}); Параметры
- callable
$callback - $operation Обратный вызов для выполнения операции.
Возвращает
mixedЗначение возвращаемого результата вызова.
Выбрасывает
ExceptionПеребросит любое исключение, сгенерированное в $callback, после отката транзакции.
Реализация
Cake\Datasource\ConnectionInterface::disableConstraints() disableForeignKeys()source public
disableForeignKeys( )
Выполняет специфичную для драйвера операцию SQL для отключения проверок внешних ключей.
driver()source public
driver( Cake\Database\Driver|string|null $driver null , array $config [] )
Устанавливает экземпляр драйвера. Если передано строковое значение, оно будет интерпретироваться как имя класса и будет создан экземпляр.
Если параметры не переданы, возвращается текущий экземпляр драйвера.
Параметры
-
Cake\Database\Driver|string|null$driverнеобязательно null - Экземпляр драйвера для использования.
- array
$configнеобязательно [] - Либо конфигурация для нового драйвера, либо null.
Возвращает
Cake\Database\DriverВыбрасывает
Cake\Database\Exception\MissingDriverExceptionЕсли класс драйвера отсутствует.
Cake\Database\Exception\MissingExtensionExceptionЕсли отсутствует PHP-расширение драйвера.
enableForeignKeys()source public
enableForeignKeys( )
Выполняет специфичную для драйвера операцию SQL для включения проверок внешних ключей.
execute()source public
execute( string $query , array $params [] , array $types [] )
Выполняет запрос, используя $params для интерполяции значений и $types как подсказку для каждого из этих параметров.
Параметры
- string
$query - SQL-запрос для выполнения и интерполяции с помощью $params
- array
$paramsнеобязательно [] - список или ассоциативный массив параметров, которые нужно интерполировать в $query в качестве значений
- array
$typesнеобязательно [] - список или ассоциативный массив типов, которые нужно использовать для преобразования значений в запросе
Возвращает
Cake\Database\StatementInterfaceвыполненный запрос
inTransaction()source public
inTransaction( )
Проверяет, выполняется ли транзакция.
Возвращает
booleanTrue, если транзакция выполняется, иначе false.
insert()source public
insert( string $table , array $data , array $types [] )
Выполняет запрос INSERT в указанную таблицу.
Параметры
- string
$table - таблица, в которую нужно вставить значения
- array
$data - значения для вставки
- array
$typesнеобязательно [] - список ассоциативных массивов, содержащих типы, которые нужно использовать для преобразования
Возвращает
Cake\Database\StatementInterfaceisConnected()source public
isConnected( )
Возвращает, установлено ли соединение с сервером базы данных.
Возвращает
booleanlog()source public
log( string $sql )
Регистрирует строку запроса, используя объект логгера, настроенный в конфигурации.
Параметры
- string
$sql - строка для регистрации
logQueries()source public
logQueries( boolean|null $enable null )
Включает или отключает регистрацию запросов для этого соединения.
Параметры
- boolean|null
$enableнеобязательно null включить или отключить регистрацию. Используйте null, чтобы прочитать текущее значение.
Возвращает
booleanРеализация
Cake\Datasource\ConnectionInterface::logQueries() logger()source public
logger( object|null $instance null )
Устанавливает объект логгера. Без аргументов возвращает текущий объект логгера.
Параметры
- object|null
$instanceнеобязательно null - объект логгера
Возвращает
objectобъект логгера
Реализация
Cake\Datasource\ConnectionInterface::logger() newQuery()source public
newQuery( )
Создает новый экземпляр Query для этого соединения.
Возвращает
Cake\Database\Queryprepare()source public
prepare( string|Cake\Database\Query $sql )
Подготавливает SQL-запрос для выполнения.
Параметры
- string|
Cake\Database\Query$sql - SQL-запрос для преобразования в подготовленный запрос.
Возвращает
Cake\Database\StatementInterfacequery()source public
query( string $sql )
Выполняет SQL-запрос и возвращает объект Statement в качестве результата.
Параметры
- string
$sql - SQL-запрос для выполнения.
Возвращает
Cake\Database\StatementInterfacequote()source public
quote( mixed $value , string|null $type null )
Приводит значение к виду, безопасному для использования в запросе к базе данных.
Параметры
- mixed
$value - Значение для приведения к цитируемому виду.
- string|null
$typeнеобязательно null - Тип для определения вида приведения к цитируемому виду.
Возвращает
stringЦитируемое значение
quoteIdentifier()source public
quoteIdentifier( string $identifier )
Приводит идентификатор базы данных (имя столбца, имя таблицы и т. д.) к безопасному для использования в запросах виду, чтобы избежать использования зарезервированных слов.
Параметры
- string
$identifier - Идентификатор для приведения к цитируемому виду.
Возвращает
stringreleaseSavePoint()source public
releaseSavePoint( string $name )
Освобождает точку сохранения по ее имени.
Параметры
- string
$name - Имя точки сохранения.
rollbackSavepoint()source public
rollbackSavepoint( string $name )
Откатывает точку сохранения по ее имени.
Параметры
- string
$name - Имя точки сохранения.
run()source public
run( Cake\Database\Query $query )
Выполняет предоставленный запрос после его компиляции для диалекта конкретного драйвера и возвращает объект выполненного запроса.
Параметры
-
Cake\Database\Query$query - Запрос для выполнения
Возвращает
Cake\Database\StatementInterfaceобъект выполненного запроса
schemaCollection()source public
schemaCollection( Cake\Database\Schema\Collection $collection null )
Получает или устанавливает объект Schema\Collection для этого соединения.
Параметры
-
Cake\Database\Schema\Collection$collectionнеобязательно null - объект схемы
Возвращает
Cake\Database\Schema\CollectionsupportsDynamicConstraints()source public
supportsDynamicConstraints( )
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
Возвращает
booleantrue, если драйвер поддерживает динамические ограничения
supportsQuoting()source public
supportsQuoting( )
Проверяет, поддерживает ли драйвер цитирование.
Возвращает
booleantransactional()source public
transactional( callable $callback )
Выполняет переданную функцию внутри транзакции. Если во время выполнения переданной функции возникает исключение, транзакция откатывается. Если результат выполнения функции равен false, транзакция также откатывается. В противном случае транзакция подтверждается после выполнения обратного вызова.
Пример:
$connection->transactional(function ($connection) {
$connection->newQuery()->delete('users')->execute();
}); Параметры
- callable
$callback - $transaction Обратный вызов для выполнения в рамках транзакции.
Возвращает
mixedВозвращаемое значение обратного вызова.
Вызывает исключение
ExceptionПеребросит любое исключение, поднятое в $callback, после отката транзакции.
Реализация
Cake\Datasource\ConnectionInterface::transactional() update()source public
update( string $table , array $data , array $conditions [] , array $types [] )
Выполняет оператор UPDATE для указанной таблицы.
Параметры
- string
$table - Таблица, из которой обновляются строки
- array
$data - Обновляемые значения
- array
$conditionsнеобязательно [] - Условия для оператора UPDATE
- array
$typesнеобязательно [] - Список ассоциативных массивов, содержащих типы для преобразования
Возвращает
Cake\Database\StatementInterfaceuseSavePoints()source public
useSavePoints( boolean|null $enable null )
Возвращает, использует ли данное соединение точки сохранения для вложенных транзакций. Если в качестве аргумента передается boolean, он включит/отключит использование точек сохранения только если драйвер это позволяет.
Если вы пытаетесь включить эту функцию, убедитесь, что вы проверили возвращаемое значение этой функции, чтобы убедиться, что она была успешно включена.
Пример:
$connection->useSavePoints(true) Возвращает true, если драйвер поддерживает точки сохранения, иначе false $connection->useSavePoints(false) Отключает использование точек сохранения и возвращает false $connection->useSavePoints() Возвращает текущий статус
Параметры
- boolean|null
$enableнеобязательно null - Использовать или не использовать точки сохранения.
Возвращает
booleantrue, если включено, иначе false
Методы, используемые из Cake\Database\TypeConverterTrait
cast()source public
cast( mixed $value , Cake\Database\Type|string $type )
Преобразует заданное значение в соответствующее значение базы данных на основе типа и возвращает соответствующий внутренний тип оператора.
Параметры
- mixed
$value - Значение для преобразования
-
Cake\Database\Type|string$type - Имя типа или экземпляр типа для использования.
Возвращает
arrayсписок, содержащий преобразованное значение и внутренний тип
matchTypes()source public
matchTypes( array $columns , array $types )
Сопоставляет столбцы соответствующим типам
И $columns, и $types должны быть числовыми или строковыми ключами одновременно.
Параметры
- array
$columns - список или ассоциативный массив столбцов и параметров, которые будут связаны с типами
- array
$types - список или ассоциативный массив типов
Возвращает
arrayПодробности свойств
$_driversource
protected Cake\Database\Driver
Объект драйвера, ответственный за создание реального соединения и предоставление специфического диалекта SQL.
$_logQueriessource
protected boolean
Выполнять ли протоколирование запросов, сгенерированных во время этого соединения.
false
$_transactionLevelsource
protected integer
Содержит количество вложенных транзакций, которые были начаты.
$_useSavePointssource
protected boolean
Может ли и должно ли это соединение использовать savepoints для вложенных транзакций.
false
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.2/class-Cake.Database.Connection.html