Класс 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Отключается от сервера базы данных.
- driver() public
Устанавливает экземпляр драйвера. Если передана строка, она будет обработана как имя класса и будет инстанцирована.
- enableForeignKeys() publicВыполнить драйвер-специфичную SQL для включения проверок внешних ключей.
- enableSavePoints() publicВключает/выключает использование точек сохранения, включает только если драйвер это позволяет.
- execute() public
Выполняет запрос, используя $params для интерполяции значений и $types в качестве подсказки для каждого из этих параметров.
- getDriver() publicПолучает экземпляр драйвера.
- getLogger() publicПолучает объект логгера.
- getSchemaCollection() publicПолучает объект Schema\Collection для этого соединения.
- inTransaction() publicПроверяет, выполняется ли транзакция.
- insert() publicВыполняет запрос INSERT в указанную таблицу.
- isConnected() publicВозвращает значение, показывающее, было ли уже установлено соединение с сервером базы данных.
- isSavePointsEnabled() 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 для этого соединения.
- setDriver() public
Устанавливает экземпляр драйвера. Если передана строка, она будет обработана как имя класса и будет инстанцирована.
- setLogger() publicУстанавливает логгер.
- setSchemaCollection() publicУстанавливает объект Schema\Collection для этого соединения.
- supportsDynamicConstraints() public
Возвращает значение, показывающее, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
- supportsQuoting() publicПроверяет, поддерживает ли драйвер приведение в кавычки.
- transactional() public
Выполняет функцию обратного вызова внутри транзакции. Если во время выполнения переданного обратного вызова возникает исключение, транзакция будет отменена. Если результатом функции обратного вызова является
false, транзакция также будет отменена. В противном случае транзакция подтверждается после выполнения обратного вызова. - update() publicВыполняет операцию UPDATE для указанной таблицы.
- useSavePoints() public
Возвращает значение, показывающее, использует ли это соединение точки сохранения для вложенных транзакций. Если в качестве аргумента передано булевое значение, это значение будет включено/выключено, только если драйвер это позволяет.
- 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 )
Компилирует объект 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
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выполненная инструкция
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
$typesнеобязательно [] - список ассоциативных массивов, содержащих типы для преобразования
Возвращает
Cake\Database\StatementInterfaceisConnected()source public
isConnected( )
Возвращает, было ли установлено соединение с сервером базы данных.
Возвращает
booleanisSavePointsEnabled()source public
isSavePointsEnabled( )
Возвращает, использует ли это соединение сохраняемые точки для вложенных транзакций
Возвращает
booleantrue, если включено, false — иначе
log()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 )
Устанавливает экземпляр объекта логгера. При вызове без аргументов возвращает текущий установленный экземпляр логгера.
Устарело
3.5.0 Используйте getLogger() и setLogger() вместо этого.Параметры
- 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 - Имя сохраняемой точки.
rollback()source public
rollback( boolean|null $toBeginning null )
Откатывает текущую транзакцию.
Параметры
- boolean|null
$toBeginningнеобязательно null Определяет, откатывать ли транзакцию в начало. По умолчанию false, если используются сохраняемые точки, или 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
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
useSavePoints( boolean|null $enable null )
Возвращает, использует ли это подключение сохранение точек для вложенных транзакций. Если в качестве аргумента передается булево значение, оно будет включено/выключено только если драйвер это разрешает.
Если вы пытаетесь включить эту функцию, убедитесь, что вы проверили возвращаемое значение этой функции, чтобы убедиться, что она была успешно включена.
Пример:
$connection->useSavePoints(true) Возвращает true, если драйвер поддерживает сохранение точек, false в противном случае $connection->useSavePoints(false) Отключает использование сохранения точек и возвращает false $connection->useSavePoints() Возвращает текущий статус
Устарело
3.4.0 Используйте enableSavePoints()/isSavePointsEnabled() вместо этого.Параметры
- boolean|null
$enableнеобязательно 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(), newQuery(), prepare(), quote(), schemaCollection(), supportsDynamicConstraints() |
Подробное описание свойств
$_driversource
protected Cake\Database\Driver
Объект драйвера, ответственный за создание реального подключения и предоставление конкретного диалекта SQL.
$_logQueriessource
protected boolean
Указывает, нужно ли регистрировать запросы, сгенерированные во время этого подключения.
false
$_transactionStartedsource
protected boolean
Указывает, активна ли транзакция в этом подключении.
false
$_useSavePointssource
protected boolean
Указывает, может ли и должно ли это подключение использовать сохранение точек для вложенных транзакций.
false
$nestedTransactionRollbackExceptionsource
protected Cake\Database\Exception\NestedTransactionRollbackException|null
Экземпляр объекта NestedTransactionRollbackException, будет сохранен, если метод rollback вызван в какой-либо вложенной транзакции.
© 2005–2018 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.5/class-Cake.Database.Connection.html