Класс 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
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
- _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 для отключения проверки внешних ключей.
- 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 Значение 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, если соединение уже установлено или попытка успешна.
Вызывает
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 [] )
Устанавливает экземпляр драйвера. Если передана строка, она будет обработана как имя класса и будет создана.
Если параметры не переданы, он вернёт текущий экземпляр драйвера.
Устарело
3.4.0 Используйте setDriver()/getDriver() вместо этого.Параметры
-
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-кода, специфичного для драйвера, для включения проверок внешних ключей.
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
$paramsнеобязательно [] - список или ассоциативный массив параметров, которые будут интерполированы в $query как значения
- array
$typesнеобязательно [] - список или ассоциативный массив типов, которые будут использоваться для приведения значений в запросе
Возвращает
Cake\Database\StatementInterfaceвыполненный оператор
getDriver()source public
getDriver( )
Возвращает экземпляр драйвера.
Возвращает
Cake\Database\DrivergetLogger()source public
getLogger( )
Получает объект регистратора
Возвращает
objectэкземпляр регистратора
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( object $logger )
Устанавливает логгер.
Параметры
- object
$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(), lastInsertId(), newQuery(), prepare(), quote(), schemaCollection(), 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–2017 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.4/class-Cake.Database.Connection.html