Класс Connection
Представляет подключение к серверу базы данных.
- Cake\Database\Connection реализует Cake\Datasource\ConnectionInterface использует Cake\Database\TypeConverterTrait
Краткое описание свойств
-
$_configprotectedСодержит параметры конфигурации для этого подключения.array -
$_driverprotectedОбъект драйвера, отвечающий за создание реального подключения и предоставление конкретного диалекта SQL.
-
$_logQueriesprotectedВключает ли протоколирование запросов, сгенерированных в рамках этого подключения.boolean -
$_loggerprotectedЭкземпляр объекта логгера.Cake\Database\Log\QueryLogger - Объект коллекции схем.
$_schemaCollectionprotected -
$_transactionLevelprotectedСодержит количество вложенных транзакций, которые были начаты.integer -
$_transactionStartedprotectedАктивна ли транзакция в этом подключении.boolean -
$_useSavePointsprotectedbooleanМожно ли и следует ли использовать сохраняемые точки (savepoints) для вложенных транзакций.
Краткое описание методов
- __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 для отключения проверок внешних ключей.
- disconnect() publicОтключение от сервера базы данных.
- driver() public
Устанавливает экземпляр драйвера. Если передана строка, она будет интерпретирована как имя класса и будет создан экземпляр.
- enableForeignKeys() publicВыполнение драйвер-специфичного SQL для включения проверок внешних ключей.
- execute() public
Выполнение запроса с использованием $params для интерполяции значений и $types как подсказка для каждого из этих параметров.
- inTransaction() publicПроверка, выполняется ли транзакция.
- insert() publicВыполнение запроса INSERT для указанной таблицы.
- isConnected() publicВозвращает, установлено ли соединение с сервером базы данных.
- log() publicРегистрация строки запроса с использованием настроенного объекта логгера.
- logQueries() publicВключение или отключение регистрации запросов для этого подключения.
- logger() public
Устанавливает экземпляр объекта логгера. При вызове без аргументов возвращает текущий настроенный экземпляр логгера.
- newQuery() publicСоздание нового экземпляра запроса для этого подключения.
- prepare() publicПодготовка SQL-запроса для выполнения.
- query() publicВыполнение SQL-запроса и возвращение объекта Statement в качестве результата.
- quote() publicЦитата значения для безопасного использования в запросе к базе данных.
- quoteIdentifier() public
Цитирует идентификатор базы данных (название столбца, название таблицы и т. д.) для безопасного использования в запросах без риска использования зарезервированных слов.
- releaseSavePoint() publicОсвобождает точку сохранения по её имени.
- rollback() publicОткатывает текущую транзакцию.
- rollbackSavepoint() publicОткатывает точку сохранения по её имени.
- run() public
Выполняет предоставленный запрос после его компиляции для диалекта конкретного драйвера и возвращает объект Statement, который был выполнен.
- schemaCollection() publicПолучает или устанавливает объект Schema\Collection для этого подключения.
- supportsDynamicConstraints() public
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
- supportsQuoting() publicПроверяет, поддерживает ли драйвер цитирование.
- transactional() public
Выполняет вызываемую функцию внутри транзакции. Если при выполнении переданной вызываемой функции произойдёт исключение, транзакция будет откачена. Если результат вызываемой функции равен
false, транзакция также будет откачена. В противном случае транзакция завершается успешно после выполнения обратного вызова. - update() publicВыполняет оператор UPDATE для указанной таблицы.
- useSavePoints() public
Возвращает, использует ли это подключение точки сохранения для вложенных транзакций. Если в качестве аргумента передано булево значение, оно будет включать/отключать использование точек сохранения только если это разрешено драйвером.
Методы
__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 - Генератор плейсхолдеров для использования
Возвращает
stringconfig()source public
config( )
Получить данные конфигурации, используемые для создания подключения.
Возвращает
arrayРеализация
Cake\Datasource\ConnectionInterface::config() configName()source public
configName( )
Получить имя конфигурации для этого подключения.
Возвращает
stringРеализация
Cake\Datasource\ConnectionInterface::configName() connect()source public
connect( )
Подключается к настроенной базе данных.
Возвращает
booleantrue при успехе или false, если уже подключено.
Выбрасывает
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 [] )
Устанавливает экземпляр драйвера. Если передано строковое значение, оно будет обработано как имя класса и будет создан экземпляр.
Если параметры не переданы, будет возвращен текущий экземпляр драйвера.
Параметры
-
Cake\Database\Driver|string|null$driverнеобязательно null - Экземпляр драйвера для использования.
- массив
$configнеобязательно [] - Либо конфигурация для нового драйвера, либо null.
Возвращает
Cake\Database\DriverИсключения
Cake\Database\Exception\MissingDriverExceptionПри отсутствии класса драйвера.
Cake\Database\Exception\MissingExtensionExceptionПри отсутствии PHP расширения драйвера.
enableForeignKeys()source public
enableForeignKeys( )
Выполняет специфичный для драйвера SQL для включения проверок внешних ключей.
execute()source public
execute( string $query , array $params [] , array $types [] )
Выполняет запрос, используя $params для интерполяции значений и $types в качестве подсказки для каждого из этих параметров.
Параметры
- строка
$query - SQL-запрос, который будет выполнен и интерполирован с помощью $params
- массив
$paramsнеобязательно [] - Список или ассоциативный массив параметров, которые будут интерполированы в $query в качестве значений
- массив
$typesнеобязательно [] - Список или ассоциативный массив типов, которые будут использованы для преобразования значений в запросе
Возвращает
Cake\Database\StatementInterfaceвыполненное утверждение
inTransaction()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( )
Возвращает, установлено ли соединение с сервером базы данных.
Возвращает
booleanlog()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
logger( object|null $instance null )
Устанавливает экземпляр объекта логгера. Без аргументов возвращает текущий установленный экземпляр логгера.
Параметры
- объект|null
$instanceнеобязательно null - экземпляр объекта логгера
Возвращает
объектэкземпляр логгера
Реализация
Cake\Datasource\ConnectionInterface::logger() newQuery()source public
newQuery( )
Создать новый экземпляр запроса для этого соединения.
Возвращает
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 - Имя точки сохранения.
rollbackSavepoint()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
schemaCollection( Cake\Database\Schema\Collection $collection null )
Получает или устанавливает объект Schema\Collection для этого соединения.
Параметры
-
Cake\Database\Schema\Collection$collectionнеобязательно null - Объект схемы коллекции
Возвращает
Cake\Database\Schema\CollectionsupportsDynamicConstraints()source public
supportsDynamicConstraints( )
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
Возвращает
логическоеtrue, если драйвер поддерживает динамические ограничения
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
useSavePoints( boolean|null $enable null )
Возвращает, использует ли это соединение сохраняемые точки для вложенных транзакций. Если в качестве аргумента передается boolean, это позволит включить/выключить использование сохраняемых точек только если драйвер это поддерживает.
Если вы пытаетесь включить эту функцию, убедитесь, что вы проверяете возвращаемое значение этой функции, чтобы убедиться, что она была успешно включена.
Пример:
$connection->useSavePoints(true) Возвращает true, если драйвер поддерживает сохраняемые точки, false в противном случае $connection->useSavePoints(false) Отключает использование сохраняемых точек и возвращает false $connection->useSavePoints() Возвращает текущий статус
Параметры
- boolean|null
$enableoptional null - Использовать ли сохраняемые точки.
Возвращает
booleantrue, если включено, false в противном случае
Методы, используемые из 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Подробности свойств
$_driversource
protected Cake\Database\Driver
Объект драйвера, ответственный за создание реального соединения и предоставление специфического SQL-диалекта.
$_logQueriessource
protected boolean
Включает протоколирование запросов, сгенерированных во время этого подключения.
false
$_transactionLevelsource
protected integer
Содержит количество вложенных транзакций, которые были начаты.
$_transactionStartedsource
protected boolean
Указывает, активна ли транзакция в этом подключении.
false
$_useSavePointssource
protected boolean
Указывает, может ли и должно ли это подключение использовать savepoints для вложенных транзакций.
false
© 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.3/class-Cake.Database.Connection.html