Класс Connection
Представляет подключение к серверу базы данных.
- Cake\Database\Connection реализует Cake\Datasource\ConnectionInterface использует Cake\Database\TypeConverterTrait
Краткое описание свойств
-
$_configprotectedСодержит параметры конфигурации для этого подключения.array -
$_driverprotectedОбъект драйвера, отвечающий за создание реального подключения и предоставление конкретного диалекта SQL.
-
$_logQueriesprotectedВключает ли протоколирование запросов, генерируемых во время этого подключения.boolean -
$_loggerprotectedЭкземпляр объекта логгера.Cake\Database\Log\QueryLogger|null - Объект коллекции схем.
$_schemaCollectionprotected -
$_transactionLevelprotectedСодержит количество начатых вложенных транзакций.integer -
$_transactionStartedprotectedАктивна ли транзакция в этом подключении.boolean -
$_useSavePointsprotectedbooleanВозможно ли и следует ли использовать сохраняемые точки для вложенных транзакций.
-
$nestedTransactionRollbackExceptionprotectedЭкземпляр объекта NestedTransactionRollbackException, который будет сохранён, если метод rollback вызывается в какой-либо вложенной транзакции.
Краткое описание методов
- __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Отключается от сервера базы данных.
-
Устанавливает экземпляр драйвера. Если передано строковое значение, оно будет интерпретировано как имя класса и будет создан экземпляр.
- enableForeignKeys() publicВыполняет драйвер-специфичный SQL для включения проверок внешних ключей.
- enableSavePoints() publicВключает/выключает использование точек сохранения, включает только если это разрешено драйвером.
- execute() public
Выполняет запрос, используя $params для интерполяции значений и $types как подсказку для каждого из этих параметров.
- getDisconnectRetry() public
Получить объект обёртки для повторных попыток при разрыве соединения с сервером во время выполнения определённых операций с базой данных, таких как выполнение запроса.
- getDriver() publicПолучает экземпляр драйвера.
- getLogger() publicПолучает объект логгера
- getSchemaCollection() publicПолучает объект Schema\Collection для этого соединения.
- inTransaction() publicПроверяет, выполняется ли транзакция.
- insert() publicВыполняет запрос INSERT для указанной таблицы.
- isConnected() publicВозвращает, установлено ли соединение с сервером базы данных.
- isSavePointsEnabled() publicВозвращает, использует ли это соединение точки сохранения для вложенных транзакций.
- log() publicРегистрирует строку запроса с использованием настроенного объекта логгера.
- logQueries() 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 )
Конструктор.
Параметры
- массив
$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 Либо boolean 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 для отключения проверок внешних ключей.
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 для включения проверок внешних ключей.
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 как подсказку для каждого из этих параметров.
Параметры
- string
$query - SQL запрос, который будет выполнен и интерполирован с $params
- array
$paramsoptional [] - список или ассоциативный массив параметров, которые будут интерполированы в $query как значения
- array
$typesoptional [] - список или ассоциативный массив типов, которые будут использоваться для приведения типов значений в запросе
Возвращает
Cake\Database\StatementInterfaceвыполненный запрос
getDisconnectRetry()source public
getDisconnectRetry( )
Получить объект обертки для повторных попыток, который позволяет восстановиться от разрывов соединения с сервером во время выполнения определённых операций с базой данных, таких как выполнение запроса.
Возвращает
Cake\Core\Retry\CommandRetryОбъект повторных попыток
getLogger()source public
getLogger( )
Получает объект логгера.
Возвращает
Cake\Database\Log\QueryLoggerэкземпляр логгера
getSchemaCollection()source public
getSchemaCollection( )
Получает объект Schema\Collection для этого подключения.
Возвращает
Cake\Database\Schema\CollectioninTransaction()source public
inTransaction( )
Проверяет, запущена ли транзакция.
Возвращает
booleanTrue, если транзакция запущена, иначе false.
insert()source public
insert( string $table , array $data , array $types = [] )
Выполняет запрос INSERT для указанной таблицы.
Параметры
- строка
$table - таблица для вставки значений
- массив
$data - значения для вставки
- массив
$typesнеобязательно [] - список ассоциативных массивов, содержащих типы для преобразования
Возвращает
Cake\Database\StatementInterfaceisConnected()source public
isConnected( )
Возвращает, установлено ли соединение с сервером базы данных.
Возвращает
booleanisSavePointsEnabled()source public
isSavePointsEnabled( )
Возвращает, использует ли это подключение сохраняемые точки для вложенных транзакций.
Возвращает
booleantrue, если включено, иначе false
log()source public
log( string $sql )
Записывает строку запроса с использованием настроенного объекта логгера.
Параметры
- строка
$sql - строка для записи
logQueries()source public
logQueries( boolean|null $enable = null )
Включает или отключает протоколирование запросов для этого подключения.
Параметры
- boolean|null
$enableнеобязательно null включить или отключить протоколирование. Использовать null для чтения текущего значения.
Возвращает
booleanРеализация
Cake\Datasource\ConnectionInterface::logQueries() logger()source public deprecated
logger( object|null $instance = null )
Устанавливает экземпляр объекта логгера. При вызове без аргументов возвращает текущий установленный экземпляр логгера.
Устарело
3.5.0 Используйте getLogger() и setLogger() вместо этого.Параметры
- объект|null
$instanceнеобязательно null - экземпляр объекта логгера
Возвращает
объектэкземпляр логгера
Реализация
Cake\Datasource\ConnectionInterface::logger() newQuery()source public
newQuery( )
Создаёт новый экземпляр Query для этого подключения.
Возвращает
Cake\Database\Queryprepare()source public
prepare( string|Cake\Database\Query $sql )
Подготавливает SQL-запрос для выполнения.
Параметры
- строка|
Cake\Database\Query$sql - SQL-запрос для преобразования в подготовленный запрос.
Возвращает
Cake\Database\StatementInterfacequery()source public
query( string $sql )
Выполняет SQL-запрос и возвращает объект Statement в качестве результата.
Параметры
- строка
$sql - SQL-запрос для выполнения.
Возвращает
Cake\Database\StatementInterfacequote()source public
quote( mixed $value , string|null $type = null )
Приводит значение к виду, безопасному для использования в запросах к базе данных.
Параметры
- смешанный
$value - Значение для приведения к виду, безопасному для использования в запросах к базе данных.
- строка|null
$typeнеобязательно null - Тип для определения типа приведения
Возвращает
строкаПриведённое значение
quoteIdentifier()source public
quoteIdentifier( string $identifier )
Приводит идентификатор базы данных (имя столбца, имя таблицы и т. д.) к виду, безопасному для использования в запросах, без риска использования зарезервированных слов.
Параметры
- строка
$identifier - Идентификатор для приведения к виду, безопасному для использования в запросах.
Возвращает
строкаreleaseSavePoint()source public
releaseSavePoint( string $name )
Освобождает сохраняемую точку по её имени.
Параметры
- строка
$name - Имя сохраняемой точки.
rollback()source public
rollback( boolean|null $toBeginning = null )
Откатывает текущую транзакцию.
Параметры
- boolean|null
$toBeginningнеобязательно null Нужно ли откатить транзакцию до её начала. По умолчанию false, если используются сохраняемые точки, или true, если нет.
Возвращает
booleanrollbackSavepoint()source public
rollbackSavepoint( string $name )
Откатывает сохраняемую точку по её имени.
Параметры
- строка
$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$collectionнеобязательно 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() Возвращает текущий статус
Deprecated
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(), newQuery(), prepare(), quote(), supportsDynamicConstraints() |
Подробности свойств
$_driversource
protected Cake\Database\Driver
Объект драйвера, отвечающий за создание реального подключения и предоставление конкретного диалекта SQL.
$_logQueriessource
protected boolean
Выполнять ли логирование запросов, сгенерированных во время этого подключения.
false
$_transactionLevelsource
protected integer
Содержит количество вложенных транзакций, которые были начаты.
$_useSavePointssource
protected boolean
Можно ли и следует ли этому подключению использовать точки сохранения для вложенных транзакций.
false
$nestedTransactionRollbackExceptionsource
protected Cake\Database\Exception\NestedTransactionRollbackException|null
Объект NestedTransactionRollbackException, будет сохранён, если метод rollback вызывается вложенной транзакцией.
© 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.6/class-Cake.Database.Connection.html