Класс 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
Компилирует объект запроса в строку 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Создает новый экземпляр запроса для этого подключения.
- 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
Выполняет переданную функцию внутри транзакции. Если при выполнении переданной функции возникнет исключение, транзакция будет откачена. Если результат функции callback равен
false, транзакция также будет откачена. В противном случае транзакция будет подтверждена после выполнения обратного вызова. - update() publicВыполняет операцию UPDATE для указанной таблицы.
-
Возвращает, использует ли это подключение точки сохранения для вложенных транзакций. Если в качестве аргумента передано значение boolean, оно включит/выключит использование точек сохранения только в том случае, если драйвер это поддерживает.
- wasNestedTransactionRolledback() protectedВозвращает, была ли откачена какая-либо вложенная транзакция.
Подробное описание методов
__construct()source public
__construct( array $config )
Конструктор.
Параметры
- массив
$config - настройка для подключения к базе данных
__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
массив_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 )
Компилирует объект запроса в строку SQL в соответствии с диалектом для драйвера этого соединения.
Параметры
-
Cake\Database\Query$query - Запрос для компиляции
- Cake\Database\ValueBinder
$generator - Генератор заменителей для использования
Возвращает
строкаconfig()source public
config( )
Получить данные конфигурации, используемые для создания соединения.
Возвращает
массивРеализация
Cake\Datasource\ConnectionInterface::config() configName()source public
configName( )
Получить имя конфигурации для этого соединения.
Возвращает
строкаРеализация
Cake\Datasource\ConnectionInterface::configName() connect()source public
connect( )
Подключается к заданной базе данных.
Возвращает
booleantrue, если соединение уже установлено или попытка прошла успешно.
Выбрасывает
Cake\Database\Exception\MissingConnectionExceptionесли учетные данные недействительны.
createSavePoint()source public
createSavePoint( string $name )
Создает новую точку сохранения для вложенных транзакций.
Параметры
- строка
$name - Имя точки сохранения.
delete()source public
delete( string $table , array $conditions = [] , array $types = [] )
Выполняет оператор DELETE для указанной таблицы.
Параметры
- строка
$table - таблица, из которой нужно удалить строки
- массив
$conditionsнеобязательно [] - условия для оператора delete
- массив
$typesнеобязательно [] - список ассоциативных массивов, содержащих типы для преобразования
Возвращает
Cake\Database\StatementInterfacedisableConstraints()source public
disableConstraints( callable $callback )
Выполнить операцию с отключенными ограничениями.
Пример:
$connection->disableConstraints(function ($connection) {
$connection->newQuery()->delete('users')->execute();
}); Параметры
- обратный вызов
$callback - $operation Обратный вызов для выполнения в транзакции.
Возвращает
смешанныйВозвращаемое значение обратного вызова.
Выбрасывает
ИсключениеПеребросит любое исключение, поднятое в $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|строка|null$driverнеобязательно null - Экземпляр драйвера для использования.
- массив
$configнеобязательно [] - Либо конфигурация для нового драйвера, либо 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 как подсказку для каждого из этих параметров.
Параметры
- 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 для указанной таблицы.
Параметры
- string
$table - таблица, в которую нужно вставить значения
- array
$data - значения, которые нужно вставить
- array
$typesoptional [] - список ассоциативных массивов, содержащих типы, которые нужно использовать для преобразования
Возвращает
Cake\Database\StatementInterfaceisConnected()source public
isConnected( )
Возвращает, установлено ли соединение с сервером базы данных.
Возвращает
booleanisQueryLoggingEnabled()source public
isQueryLoggingEnabled( )
Проверка, включен ли лог запросов.
Возвращает
booleanisSavePointsEnabled()source public
isSavePointsEnabled( )
Возвращает, использует ли это соединение сохраняемые точки для вложенных транзакций
Возвращает
booleantrue, если включено, false в противном случае
log()source public
log( string $sql )
Записывает строку запроса с помощью объекта логгера.
Параметры
- string
$sql - строка, которая должна быть записана в лог
logQueries()source public deprecated
logQueries( boolean|null $enable = null )
Включает или отключает логирование запросов для этого соединения.
Устарело
3.7.0 Используйте enableQueryLogging() и isQueryLoggingEnabled() вместо этого.Параметры
- boolean|null
$enableoptional null включить или отключить логирование. Используйте null для чтения текущего значения.
Возвращает
booleanРеализация
Cake\Datasource\ConnectionInterface::logQueries() logger()source public deprecated
logger( object|null $instance = null )
Устанавливает экземпляр объекта логгера. При вызове без аргументов возвращает текущий установленный экземпляр логгера.
Устарело
3.5.0 Используйте getLogger() и setLogger() вместо этого.Параметры
- object|null
$instanceoptional 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
$typeoptional null - Тип, используемый для определения типа приведения
Возвращает
stringПриведенное значение
quoteIdentifier()source public
quoteIdentifier( string $identifier )
Приводит идентификатор базы данных (имя столбца, имя таблицы и т.д.) к виду, подходящему для использования в запросах, без риска использования зарезервированных слов.
Параметры
- string
$identifier - Идентификатор, который нужно привести к виду, подходящему для использования в запросах.
Возвращает
stringreleaseSavePoint()source public
releaseSavePoint( string $name )
Освобождает сохраняемую точку по ее имени.
Параметры
- string
$name - Имя сохраняемой точки.
rollback()source public
rollback( boolean|null $toBeginning = null )
Откат текущей транзакции.
Параметры
- boolean|null
$toBeginningнеобязательно null Определяет, нужно ли откатить транзакцию к началу. По умолчанию false, если используются savepoint, или true, если нет.
Возвращает
booleanrollbackSavepoint()source public
rollbackSavepoint( string $name )
Откат сохраняемой точки по её имени.
Параметры
- 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$collectionнеобязательно null - Объект схемы коллекции
Возвращает
Cake\Database\Schema\CollectionsetDriver()source public
setDriver( Cake\Database\Driver|string $driver , array $config = [] )
Устанавливает экземпляр драйвера. Если передана строка, она будет интерпретирована как имя класса и будет создан экземпляр.
Параметры
-
Cake\Database\Driver|string$driver - Экземпляр драйвера для использования.
- array
$configнеобязательно [] - Настройка для нового драйвера.
Возвращает
$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
$conditionsнеобязательно [] - условия для оператора обновления
- array
$typesнеобязательно [] - список ассоциативных массивов, содержащих типы, используемые для преобразования
Возвращает
Cake\Database\StatementInterfaceuseSavePoints()source public deprecated
useSavePoints( boolean|null $enable = null )
Возвращает, использует ли это подключение savepoints для вложенных транзакций Если в качестве аргумента передаётся boolean, он позволит включить/выключить использование savepoints только если драйвер это позволяет.
Если вы пытаетесь включить эту функцию, убедитесь, что проверили возвращаемое значение этой функции, чтобы убедиться, что она была успешно включена.
Пример:
$connection->useSavePoints(true) Возвращает true, если драйвер поддерживает savepoints, иначе false $connection->useSavePoints(false) Отключает использование savepoints и возвращает false $connection->useSavePoints() Возвращает текущий статус
Устарело
3.4.0 Используйте enableSavePoints()/isSavePointsEnabled() вместо этого.Параметры
- boolean|null
$enableнеобязательно null - Использовать ли savepoints.
Возвращает
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
$_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.7/class-Cake.Database.Connection.html