Класс Connection
Представляет соединение с сервером базы данных.
- Cake\Database\Connection implements Cake\Datasource\ConnectionInterface uses Cake\Database\TypeConverterTrait
Краткое описание свойств
-
$_configprotectedСодержит параметры конфигурации для этого соединения.array -
$_driverprotectedОбъект драйвера, ответственный за создание реального соединения и предоставление специфического SQL-диалекта.
-
$_logQueriesprotectedВключает ли логирование запросов, сгенерированных во время этого соединения.boolean -
$_loggerprotectedЭкземпляр объекта регистратора.Cake\Database\Log\QueryLogger|null - Объект коллекции схем
$_schemaCollectionprotected -
$_transactionLevelprotectedСодержит количество начатых вложенных транзакций.integer -
$_transactionStartedprotectedАктивна ли транзакция в этом соединении.boolean -
$_useSavePointsprotectedbooleanМожет ли и должно ли это соединение использовать точки сохранения для вложенных транзакций.
-
$nestedTransactionRollbackExceptionprotectedЭкземпляр объекта NestedTransactionRollbackException, будет сохранен, если метод отката будет вызван в некоторой вложенной транзакции.
Краткое описание методов
- __construct() publicКонструктор.
- __debugInfo() public
Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.
- __destruct() publicДеструктор
- _newLogger() protected
Возвращает новый объект statement, который будет вести лог активности для переданного исходного объекта statement.
- 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 запрос для отключения проверок внешних ключей.
- disableQueryLogging() publicОтключает логирование запросов
- disableSavePoints() publicОтключает использование точек сохранения.
- disconnect() publicОтключается от сервера базы данных.
-
Устанавливает экземпляр драйвера. Если передана строка, она будет рассматриваться как имя класса и будет создан экземпляр.
- enableForeignKeys() publicВыполняет специфичный для драйвера SQL запрос для включения проверок внешних ключей.
- enableQueryLogging() publicВключает/отключает логирование запросов
- enableSavePoints() publicВключает/отключает использование точек сохранения, включает только если драйвер это позволяет.
- execute() public
Выполняет запрос, используя $params для интерполяции значений и $types в качестве подсказки для каждого из этих параметров.
- getDisconnectRetry() public
Получает объект-обертку для повторных попыток, который позволяет восстанавливаться после разрыва соединения с сервером при выполнении определенных действий с базой данных, таких как выполнение запроса.
- getDriver() publicПолучает экземпляр драйвера.
- getLogger() publicПолучает объект логгера
- getSchemaCollection() publicПолучает объект Schema\Collection для этого соединения.
- inTransaction() publicПроверяет, запущена ли транзакция.
- insert() publicВыполняет запрос INSERT в указанной таблице.
- isConnected() publicВозвращает, было ли уже установлено соединение с сервером базы данных.
- isQueryLoggingEnabled() publicПроверяет, включено ли логирование запросов.
- isSavePointsEnabled() publicВозвращает, использует ли это соединение точки сохранения для вложенных транзакций
- log() publicЛогирует строку запроса, используя настроенный объект логгера.
- Включает или отключает логирование запросов для этого соединения.
-
Устанавливает экземпляр объекта логгера. При вызове без аргументов возвращает текущий настроенный экземпляр логгера.
- newQuery() publicСоздает новый экземпляр Query для этого соединения.
- prepare() publicПодготавливает SQL-запрос к выполнению.
- query() publicВыполняет SQL-запрос и возвращает объект Statement в качестве результата.
- quote() publicЗаключает значение в кавычки для безопасного использования в запросе к базе данных.
- quoteIdentifier() public
Заключает идентификатор базы данных (имя столбца, имя таблицы и т. д.) в кавычки для безопасного использования в запросах без риска использования зарезервированных слов.
- releaseSavePoint() publicОсвобождает точку сохранения по её имени.
- rollback() publicОткатывает текущую транзакцию.
- rollbackSavepoint() publicОткатывает точку сохранения по её имени.
- run() public
Выполняет предоставленный запрос после его компиляции для конкретного диалекта драйвера и возвращает выполненный объект Statement.
- Получает или устанавливает объект Schema\Collection для этого соединения.
- setDriver() public
Устанавливает экземпляр драйвера. Если передана строка, она будет рассматриваться как имя класса и будет создан экземпляр.
- setLogger() publicУстанавливает логгер
- setSchemaCollection() publicУстанавливает объект Schema\Collection для этого соединения.
- supportsDynamicConstraints() public
Возвращает, поддерживает ли драйвер добавление или удаление ограничений в уже созданные таблицы.
- supportsQuoting() publicПроверяет, поддерживает ли драйвер заключение в кавычки.
- transactional() public
Выполняет вызываемую функцию внутри транзакции, если возникает исключение при выполнении переданной вызываемой функции, транзакция будет отменена. Если результат вызываемой функции равен
false, транзакция также будет отменена. В противном случае транзакция подтверждается после выполнения обратного вызова. - update() publicВыполняет оператор UPDATE в указанной таблице.
-
Возвращает, использует ли это соединение точки сохранения для вложенных транзакций. Если в качестве аргумента передано булево значение, оно включит/отключит использование точек сохранения только если драйвер это позволяет.
- wasNestedTransactionRolledback() protectedВозвращает, была ли уже отменена какая-либо вложенная транзакция.
Подробное описание методов
__construct()source public
__construct( array $config )
Конструктор.
Параметры
- array
$config - конфигурация для подключения к базе данных
__debugInfo()source public
__debugInfo( )
Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.
Возвращает
array_newLogger()source protected
_newLogger( Cake\Database\StatementInterface $statement )
Возвращает новый объект statement, который будет регистрировать активность для переданного исходного экземпляра 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 )
Компилирует объект Query в строку 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, если соединение уже установлено или попытка была успешной.
Вызывает исключение
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
$conditionsoptional [] - условия, которые необходимо установить для оператора delete
- array
$typesoptional [] - список ассоциативных массивов, содержащих типы, которые будут использоваться для преобразования типов
Возвращает
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-код для отключения проверок внешних ключей.
disableQueryLogging()source public
disableQueryLogging( )
Отключить ведение журнала запросов
Возвращает
$this
disableSavePoints()source public
disableSavePoints( )
Отключает использование точек сохранения.
Возвращает
$this
driver()source public deprecated
driver( Cake\Database\Driver|string|null $driver = null , array $config = [] )
Устанавливает экземпляр драйвера. Если передается строка, она будет рассматриваться как имя класса и будет создан экземпляр.
Если параметры не передаются, будет возвращен текущий экземпляр драйвера.
Устарело
3.4.0 Используйте setDriver()/getDriver() вместо этого.Параметры
-
Cake\Database\Driver|string|null$driveroptional null - Экземпляр драйвера для использования.
- array
$configoptional [] - Либо конфигурация для нового драйвера, либо null.
Возвращает
Cake\Database\DriverВызывает исключение
Cake\Database\Exception\MissingDriverExceptionКогда отсутствует класс драйвера.
Cake\Database\Exception\MissingExtensionExceptionКогда отсутствует расширение PHP драйвера.
enableForeignKeys()source public
enableForeignKeys( )
Выполняет специфичный для драйвера SQL-код для включения проверок внешних ключей.
enableQueryLogging()source public
enableQueryLogging( boolean $value )
Включить/отключить ведение журнала запросов
Параметры
- boolean
$value - Включить/отключить ведение журнала запросов
Возвращает
$this
enableSavePoints()source public
enableSavePoints( boolean $enable )
Включает/отключает использование точек сохранения, включает только если драйвер это позволяет.
Если вы пытаетесь включить эту функцию, убедитесь, что вы проверили возвращаемое значение этой функции, чтобы убедиться, что она была успешно включена.
Пример:
$connection->enableSavePoints(true) Возвращает true, если драйверы поддерживают точки сохранения, false в противном случае $connection->enableSavePoints(false) Отключает использование точек сохранения и возвращает false
Параметры
- boolean
$enable - Следует ли использовать точки сохранения.
Возвращает
$this
execute()source public
execute( string $query , array $params = [] , array $types = [] )
Выполняет запрос, используя $params для интерполяции значений и $types в качестве подсказки для каждого из этих параметров.
Parameters
- string
$query - SQL-запрос для выполнения и интерполяции с $params
- array
$paramsoptional [] - список или ассоциативный массив параметров для интерполяции в $query в качестве значений
- array
$typesoptional [] - список или ассоциативный массив типов, которые будут использоваться для приведения типов значений в запросе
Returns
Cake\Database\StatementInterfaceвыполненное выражение
getDisconnectRetry()source public
getDisconnectRetry( )
Получает объект-обёртку для повторных попыток, который позволяет восстанавливаться после разрывов соединения с сервером при выполнении определённых действий с базой данных, таких как выполнение запроса.
Returns
Cake\Core\Retry\CommandRetryОбъект-обёртка для повторных попыток
getLogger()source public
getLogger( )
Возвращает объект-логгер
Returns
Cake\Database\Log\QueryLoggerэкземпляр логгера
getSchemaCollection()source public
getSchemaCollection( )
Возвращает объект Schema\Collection для этого соединения.
Returns
Cake\Database\Schema\CollectioninTransaction()source public
inTransaction( )
Проверяет, запущена ли транзакция.
Returns
booleanTrue, если транзакция запущена, иначе false.
insert()source public
insert( string $table , array $data , array $types = [] )
Выполняет запрос INSERT в указанную таблицу.
Parameters
- string
$table - таблица, в которую будут вставлены значения
- array
$data - значения для вставки
- array
$typesoptional [] - список ассоциативных массивов, содержащих типы, которые будут использоваться для приведения типов
Returns
Cake\Database\StatementInterfaceisConnected()source public
isConnected( )
Возвращает, установлено ли уже соединение с сервером базы данных.
Returns
booleanisQueryLoggingEnabled()source public
isQueryLoggingEnabled( )
Проверяет, включено ли логирование запросов.
Returns
booleanisSavePointsEnabled()source public
isSavePointsEnabled( )
Возвращает, использует ли это соединение точки сохранения для вложенных транзакций
Returns
booleantrue, если включено, false в противном случае
log()source public
log( string $sql )
Логирует строку запроса, используя настроенный объект-логгер.
Parameters
- string
$sql - строка для логирования
logQueries()source public deprecated
logQueries( boolean|null $enable = null )
Включает или отключает логирование запросов для этого соединения.
Deprecated
3.7.0 Используйте enableQueryLogging() и isQueryLoggingEnabled() вместо этого.Parameters
- boolean|null
$enableoptional null включить или отключить логирование. Используйте null для чтения текущего значения.
Returns
booleanImplementation of
Cake\Datasource\ConnectionInterface::logQueries() logger()source public deprecated
logger( object|null $instance = null )
Устанавливает экземпляр объекта-логгера. При вызове без аргументов возвращает текущий настроенный экземпляр логгера.
Deprecated
3.5.0 Используйте getLogger() и setLogger() вместо этого.Parameters
- object|null
$instanceoptional null - экземпляр объекта-логгера
Returns
objectэкземпляр логгера
Implementation of
Cake\Datasource\ConnectionInterface::logger() newQuery()source public
newQuery( )
Создаёт новый экземпляр Query для этого соединения.
Returns
Cake\Database\Queryprepare()source public
prepare( string|Cake\Database\Query $sql )
Подготавливает SQL-запрос для выполнения.
Parameters
- string|
Cake\Database\Query$sql - SQL-запрос для преобразования в подготовленное выражение.
Returns
Cake\Database\StatementInterfacequery()source public
query( string $sql )
Выполняет SQL-запрос и возвращает объект Statement в качестве результата.
Parameters
- string
$sql - SQL-запрос для выполнения.
Returns
Cake\Database\StatementInterfacequote()source public
quote( mixed $value , string|null $type = null )
Вставляет кавычки в значение, чтобы безопасно использовать его в запросе к базе данных.
Parameters
- mixed
$value - Значение для экранирования.
- string|null
$typeoptional null - Тип, который будет использоваться для определения типа экранирования.
Returns
stringЭкранированное значение
quoteIdentifier()source public
quoteIdentifier( string $identifier )
Вставляет кавычки в идентификатор базы данных (имя столбца, имя таблицы и т. д.), чтобы безопасно использовать его в запросах без риска использования зарезервированных слов.
Parameters
- string
$identifier - Идентификатор для экранирования.
Returns
stringreleaseSavePoint()source public
releaseSavePoint( string $name )
Освобождает точку сохранения по её имени.
Parameters
- string
$name - Имя точки сохранения.
rollback()source public
rollback( boolean|null $toBeginning = null )
Откатывает текущую транзакцию.
Parameters
- boolean|null
$toBeginningoptional null Откатывать ли транзакцию до её начала. По умолчанию false, если используются точки сохранения, или true, если нет.
Returns
booleanrollbackSavepoint()source public
rollbackSavepoint( string $name )
Откатывает точку сохранения по её имени.
Parameters
- string
$name - Имя точки сохранения.
run()source public
run( Cake\Database\Query $query )
Выполняет предоставленный запрос после его компиляции для конкретного диалекта драйвера и возвращает выполненный объект Statement.
Параметры
-
Cake\Database\Query$query - Запрос для выполнения
Возвращает
Cake\Database\StatementInterfaceвыполненное выражение
schemaCollection()source public deprecated
schemaCollection( Cake\Database\Schema\Collection $collection = null )
Получает или устанавливает объект Schema\Collection для этого соединения.
Устарело
3.4.0 Используйте setSchemaCollection()/getSchemaCollection()Параметры
-
Cake\Database\Schema\Collection$collectionoptional null - Объект коллекции схем
Возвращает
Cake\Database\Schema\CollectionsetDriver()source public
setDriver( Cake\Database\Driver|string $driver , array $config = [] )
Устанавливает экземпляр драйвера. Если передается строка, она будет рассматриваться как имя класса и будет создан экземпляр.
Параметры
-
Cake\Database\Driver|string$driver - Экземпляр драйвера для использования.
- array
$configoptional [] - Конфигурация для нового драйвера.
Возвращает
$this
Выбрасывает
Cake\Database\Exception\MissingDriverExceptionКогда отсутствует класс драйвера.
Cake\Database\Exception\MissingExtensionExceptionКогда отсутствует расширение PHP драйвера.
setLogger()source public
setLogger( Cake\Database\Log\QueryLogger $logger )
Устанавливает регистратор
Параметры
- Cake\Database\Log\QueryLogger
$logger - Объект регистратора
Возвращает
$this
setSchemaCollection()source public
setSchemaCollection( Cake\Database\Schema\Collection $collection )
Устанавливает объект Schema\Collection для этого соединения.
Параметры
-
Cake\Database\Schema\Collection$collection - Объект коллекции схем
Возвращает
$this
supportsDynamicConstraints()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
$conditionsoptional [] - условия, которые необходимо установить для оператора update
- array
$typesoptional [] - список ассоциативных массивов, содержащих типы, которые будут использоваться для преобразования типов
Возвращает
Cake\Database\StatementInterfaceuseSavePoints()source public deprecated
useSavePoints( boolean|null $enable = null )
Возвращает, использует ли это соединение контрольные точки для вложенных транзакций. Если в качестве аргумента передается логическое значение, оно включит/отключит использование контрольных точек, только если драйвер это позволяет.
Если вы пытаетесь включить эту функцию, убедитесь, что вы проверили возвращаемое значение этой функции, чтобы убедиться, что она была успешно включена.
Пример:
$connection->useSavePoints(true) Возвращает true, если драйверы поддерживают контрольные точки, false в противном случае $connection->useSavePoints(false) Отключает использование контрольных точек и возвращает false $connection->useSavePoints() Возвращает текущий статус
Устарело
3.4.0 Используйте enableSavePoints()/isSavePointsEnabled() вместо этого.Параметры
- boolean|null
$enableoptional null - Следует ли использовать контрольные точки.
Возвращает
booleantrue, если включено, false в противном случае
wasNestedTransactionRolledback()source protected
wasNestedTransactionRolledback( )
Возвращает, была ли уже отменена какая-либо вложенная транзакция.
Возвращает
booleanМетоды, используемые из 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Магические методы, унаследованные от Cake\Datasource\ConnectionInterface
execute(), getLogger(), getSchemaCollection(), isQueryLoggingEnabled(), newQuery(), prepare(), quote(), supportsDynamicConstraints() |
Подробное описание свойств
$_driversource
protected Cake\Database\Driver
Объект драйвера, ответственный за создание реального соединения и предоставление конкретного диалекта SQL.
$_logQueriessource
protected boolean
Необходимо ли регистрировать запросы, созданные во время этого соединения.
false
$_useSavePointssource
protected boolean
Может ли и должно ли это соединение использовать точки сохранения для вложенных транзакций.
false
$nestedTransactionRollbackExceptionsource
protected Cake\Database\Exception\NestedTransactionRollbackException|null
Экземпляр объекта NestedTransactionRollbackException, будет сохранен, если метод отката будет вызван в какой-либо вложенной транзакции.
© 2005–present 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.
https://api.cakephp.org/3.8/class-Cake.Database.Connection.html