Класс Connection
Представляет соединение с сервером базы данных.
Краткое описание свойств
- $_config protected
array<string, mixed>Содержит параметры конфигурации для этого соединения.
- $_driver protected
Cake\Database\DriverInterfaceОбъект драйвера, ответственный за создание реального соединения и предоставление конкретного диалекта SQL.
- $_logQueries protected
boolВключает ли протоколирование запросов, сгенерированных во время этого соединения.
- $_logger protected
Psr\Log\LoggerInterface|nullЭкземпляр объекта логгера.
- $_schemaCollection protected
Cake\Database\Schema\CollectionInterface|nullОбъект коллекции схем.
- $_transactionLevel protected
intСодержит количество вложенных транзакций, которые были начаты.
- $_transactionStarted protected
boolАктивна ли транзакция в этом соединении.
- $_useSavePoints protected
boolМожет ли и следует ли это соединение использовать сохраняемые точки для вложенных транзакций.
- $cacher protected
Psr\SimpleCache\CacheInterface|nullЭкземпляр объекта кэширования.
- $nestedTransactionRollbackException protected
Cake\Database\Exception\NestedTransactionRollbackException|nullОбъект NestedTransactionRollbackException, который будет сохранён, если метод rollback вызван в какой-либо вложенной транзакции.
Краткое описание методов
-
__construct() public
Конструктор.
-
__debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
-
__destruct() public
Деструктор
-
_newLogger() protected
Возвращает новый объект заявления, который будет регистрировать действия для переданного исходного экземпляра заявления.
-
begin() public
Начинает новую транзакцию.
-
cacheMetadata() public
Включает или отключает кэширование метаданных для этого подключения
-
cast() public
Преобразует данное значение в подходящее значение базы данных на основе типа и возвращает соответствующий внутренний тип оператора.
-
commit() public
Подтверждает текущую транзакцию.
-
compileQuery() public
Компилирует объект Query в строку SQL в соответствии с диалектом для драйвера этого подключения.
-
config() public
Получает данные конфигурации, используемые для создания подключения.
-
configName() public
Получает имя конфигурации для этого подключения.
-
connect() public
Подключается к настроенной базе данных.
-
createDriver() protected
Создает драйвер из имени, имени класса или экземпляра.
-
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 как подсказку для каждого из этих параметров.
-
getCacher() public
Получить кэшер.
-
getDisconnectRetry() public
Получить объект обертки повторной попытки, который позволяет восстановиться от разрыва соединения с сервером во время выполнения определенных действий с базой данных, таких как выполнение запроса.
-
getDriver() public
Получает экземпляр драйвера.
-
getLogger() public
Получает объект логгера
-
getSchemaCollection() public
Получает объект Schema\Collection для этого подключения.
-
inTransaction() public
Проверяет, запущена ли транзакция.
-
insert() public
Выполняет запрос INSERT для указанной таблицы.
-
isConnected() public
Возвращает, было ли установлено соединение с сервером базы данных.
-
isQueryLoggingEnabled() public
Проверяет, включено ли логирование запросов.
-
isSavePointsEnabled() public
Возвращает, использует ли это подключение точки сохранения для вложенных транзакций
-
log() public
Регистрирует строку запроса с использованием настроенного объекта логгера.
-
matchTypes() public
Сопоставляет столбцы с соответствующими типами.
-
newQuery() public
Создает новый экземпляр Query для этого подключения.
-
prepare() public
Подготавливает SQL-запрос для выполнения.
-
query() public
Выполняет SQL-запрос и возвращает объект Statement в качестве результата.
-
quote() public
Приводит значение к виду, безопасному для использования в запросах к базе данных.
-
quoteIdentifier() public
Приводит идентификатор базы данных (имя столбца, имя таблицы и т. д.) к виду, безопасному для использования в запросах, без риска использования зарезервированных слов.
-
releaseSavePoint() public
Освобождает точку сохранения по её имени.
-
rollback() public
Откатывает текущую транзакцию.
-
rollbackSavepoint() public
Откатывает точку сохранения по её имени.
-
run() public
Выполняет предоставленный запрос после его компиляции для специфического диалекта драйвера и возвращает объект Statement, который был выполнен.
-
setCacher() public
Установить кэшер.
-
setDriver() public deprecated
Устанавливает экземпляр драйвера. Если передана строка, она будет обработана как имя класса и будет создана его инстанция.
-
setLogger() public
Устанавливает логгер
-
setSchemaCollection() public
Устанавливает объект Schema\Collection для этого подключения.
-
supportsDynamicConstraints() public deprecated
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
-
supportsQuoting() public
Проверяет, поддерживается ли использование
quote(). -
transactional() public
Выполняет функцию-обработчик внутри транзакции. Если при выполнении переданной функции-обработчика произойдёт исключение, транзакция будет откачена. Если результат работы функции-обработчика равен
false, транзакция также будет откачена. В противном случае, транзакция будет подтверждена после выполнения обработчика. -
update() public
Выполняет оператор UPDATE для указанной таблицы.
-
wasNestedTransactionRolledback() protected
Возвращает, была ли уже откачена какая-либо вложенная транзакция.
Подробное описание методов
__construct() public
__construct(array<string, mixed> $config)
Конструктор.
Доступные параметры:
-
driverИмя сортировки или полное имя класса драйвера. -
logЛогический параметр, указывающий, использовать ли логирование запросов. -
nameИмя подключения. -
cacheMetaDataЛогический параметр, указывающий, следует ли кэшировать метаданные (схемы источников данных). Если значением является строка, она будет использована в качестве имени конфигурации кэша. -
cacheKeyPrefixПользовательский префикс, используемый при генерации ключей кэша. По умолчанию совпадает с именем подключения.
Параметры
-
array<string, mixed>$config Массив конфигурации.
__debugInfo() public
__debugInfo(): array<string, mixed>
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array<string, mixed>__destruct() public
__destruct()
Деструктор
Отключает драйвер, чтобы освободить подключение.
_newLogger() protected
_newLogger(Cake\Database\StatementInterface $statement): Cake\Database\Log\LoggingStatement
Возвращает новый объект оператора, который будет регистрировать действия для переданного исходного объекта оператора.
Параметры
-
Cake\Database\StatementInterface$statement экземпляр, который нужно декорировать
Возвращает
Cake\Database\Log\LoggingStatementbegin() public
begin(): void
Начинает новую транзакцию.
Возвращает
voidcacheMetadata() public
cacheMetadata(string|bool $cache): void
Включает или отключает кэширование метаданных для этого подключения
Изменение этого параметра не повлияет на существующие объекты коллекций схем.
Параметры
-
string|bool$cache Логический параметр false для отключения кэширования метаданных, или true для использования
_cake_model_, или имя конфигурации кэша для использования.
Возвращает
voidcast() public
cast(mixed $value, Cake\Database\TypeInterface|string|int $type = 'string'): array
Преобразует заданное значение в подходящее значение базы данных на основе типа и возвращает соответствующий внутренний тип оператора.
Параметры
-
mixed$value Значение для преобразования.
-
Cake\Database\TypeInterface|string|int$type optional Имя типа или экземпляр типа для использования.
Возвращает
arraycommit() public
commit(): bool
Подтверждает текущую транзакцию.
Возвращает
boolcompileQuery() public
compileQuery(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Компилирует объект запроса в строку SQL в соответствии с диалектом для драйвера этого подключения.
Параметры
-
Cake\Database\Query$query Запрос для компиляции.
-
Cake\Database\ValueBinder$binder Привязка значений.
Возвращает
stringconfig() public
config(): array<string, mixed>
Получение данных конфигурации, используемых для создания подключения.
Возвращает
array<string, mixed>configName() public
configName(): string
Получение имени конфигурации для этого подключения.
Возвращает
stringconnect() public
connect(): bool
Подключение к базе данных с заданными параметрами.
Возвращает
boolИсключения
Cake\Database\Exception\MissingConnectionExceptionЕсли подключение к базе данных не удалось установить.
createDriver() protected
createDriver(Cake\Database\DriverInterface|string $name, array $config): Cake\Database\DriverInterface
Создает драйвер по имени, имени класса или экземпляру.
Параметры
-
Cake\Database\DriverInterface|string$name Имя драйвера, имя класса или экземпляр.
-
array$config Конфигурация драйвера, если $name не является экземпляром.
Возвращает
Cake\Database\DriverInterfaceИсключения
Cake\Database\Exception\MissingDriverExceptionПри отсутствии класса драйвера.
Cake\Database\Exception\MissingExtensionExceptionПри отсутствии PHP расширения драйвера.
createSavePoint() public
createSavePoint(string|int $name): void
Создает новую точку сохранения для вложенных транзакций.
Параметры
-
string|int$name Имя или идентификатор точки сохранения.
Возвращает
voiddelete() public
delete(string $table, array $conditions = [], array<string> $types = []): Cake\Database\StatementInterface
Выполняет оператор DELETE для указанной таблицы.
Параметры
-
string$table Таблица, из которой будут удалены строки.
-
array$conditions optional Условия для оператора DELETE.
-
array<string>$types optional Список ассоциативных массивов, содержащих типы для преобразования.
Возвращает
Cake\Database\StatementInterfacedisableConstraints() public
disableConstraints(callable $callback): mixed
Выполняет операцию с отключенными ограничениями.
Ограничения должны быть повторно включены после успешного/неудачного выполнения обратного вызова.
Пример:
$connection->disableConstraints(function ($connection) {
$connection->newQuery()->delete('users')->execute();
}); Параметры
-
callable$callback
Возвращает
mixeddisableForeignKeys() public
disableForeignKeys(): void
Выполняет специфичную для драйвера SQL команду для отключения проверок внешних ключей.
Возвращает
voiddisableQueryLogging() public
disableQueryLogging(): $this
Отключает логирование запросов
Возвращает
$thisdisableSavePoints() public
disableSavePoints(): $this
Отключает использование точек сохранения.
Возвращает
$thisdisconnect() public
disconnect(): void
Отключение от сервера базы данных.
Возвращает
voidenableForeignKeys() public
enableForeignKeys(): void
Выполняет специфичную для драйвера SQL команду для включения проверок внешних ключей.
Возвращает
voidenableQueryLogging() public
enableQueryLogging(bool $enable = true): $this
Включение/отключение логирования запросов
Параметры
-
bool$enable optional Включить/отключить логирование запросов
Возвращает
$thisenableSavePoints() public
enableSavePoints(bool $enable = true): $this
Включает/отключает использование точек сохранения, включает только если это поддерживается драйвером.
Если вы пытаетесь включить эту функцию, убедитесь, что вы проверили isSavePointsEnabled() для проверки успешного включения точек сохранения.
Параметры
-
bool$enable optional Использовать ли точки сохранения.
Возвращает
$thisexecute() public
execute(string $sql, array $params = [], array $types = []): Cake\Database\StatementInterface
Выполняет запрос, используя $params для интерполяции значений и $types в качестве подсказки для каждого из этих параметров.
Параметры
-
string$sql SQL, который будет выполнен и интерполирован с помощью $params
-
array$params необязательно список или ассоциативный массив параметров, которые будут интерполированы в $sql в качестве значений
-
array$types необязательно список или ассоциативный массив типов, которые будут использоваться для преобразования значений в запросе
Возвращает
Cake\Database\StatementInterfacegetCacher() public
getCacher(): Psr\SimpleCache\CacheInterface
Получить кэш.
Возвращает
Psr\SimpleCache\CacheInterfacegetDisconnectRetry() public
getDisconnectRetry(): Cake\Core\Retry\CommandRetry
Получить объект переподключения, который позволяет восстанавливаться после разрыва соединения с сервером во время выполнения определенных действий с базой данных, таких как выполнение запроса.
Возвращает
Cake\Core\Retry\CommandRetrygetDriver() public
getDriver(): Cake\Database\DriverInterface
Получить экземпляр драйвера.
Возвращает
Cake\Database\DriverInterfacegetLogger() public
getLogger(): Psr\Log\LoggerInterface
Получить объект логгера
Возвращает
Psr\Log\LoggerInterfacegetSchemaCollection() public
getSchemaCollection(): Cake\Database\Schema\CollectionInterface
Получить объект Schema\Collection для этого соединения.
Возвращает
Cake\Database\Schema\CollectionInterfaceinTransaction() public
inTransaction(): bool
Проверить, выполняется ли транзакция.
Возвращает
boolinsert() public
insert(string $table, array $values, array<int|string, string> $types = []): Cake\Database\StatementInterface
Выполняет запрос INSERT в указанную таблицу.
Параметры
-
string$table таблица, в которую нужно вставить значения
-
array$values значения, которые нужно вставить
-
array<int|string, string>$types необязательно Массив, содержащий типы, которые нужно использовать для преобразования
Возвращает
Cake\Database\StatementInterfaceisConnected() public
isConnected(): bool
Возвращает, установлено ли соединение с сервером базы данных.
Возвращает
boolisQueryLoggingEnabled() public
isQueryLoggingEnabled(): bool
Проверить, включен ли лог запросов.
Возвращает
boolisSavePointsEnabled() public
isSavePointsEnabled(): bool
Возвращает, использует ли это соединение сохраняемые точки для вложенных транзакций
Возвращает
boollog() public
log(string $sql): void
Записывает строку запроса с помощью настроенного объекта логгера.
Параметры
-
string$sql строка, которая будет записана в лог
Возвращает
voidmatchTypes() public
matchTypes(array $columns, array $types): array
Сопоставляет столбцы с соответствующими типами
И $columns, и $types должны быть либо числовыми, либо строковыми ключами одновременно.
Параметры
-
array$columns список или ассоциативный массив столбцов и параметров, которые нужно связать с типами
-
array$types список или ассоциативный массив типов
Возвращает
arraynewQuery() public
newQuery(): Cake\Database\Query
Создать новый экземпляр Query для этого соединения.
Возвращает
Cake\Database\Queryprepare() public
prepare(Cake\Database\Query|string $query): Cake\Database\StatementInterface
Подготовить SQL-запрос к выполнению.
Параметры
-
Cake\Database\Query|string$query SQL, который нужно преобразовать в подготовленный запрос.
Возвращает
Cake\Database\StatementInterfacequery() public
query(string $sql): Cake\Database\StatementInterface
Выполняет SQL-запрос и возвращает объект Statement в качестве результата.
Параметры
-
string$sql SQL-запрос для выполнения.
Возвращает
Cake\Database\StatementInterfacequote() public
quote(mixed $value, Cake\Database\TypeInterface|string|int $type = 'string'): string
Указывает значение для безопасного использования в запросе к базе данных.
Использует PDO::quote() и требует supportsQuoting() для работы.
Параметры
-
mixed$value Значение для указания.
-
Cake\Database\TypeInterface|string|int$type необязательно Тип, используемый для определения типа указания
Возвращает
stringquoteIdentifier() public
quoteIdentifier(string $identifier): string
Указывает идентификатор базы данных (имя столбца, имя таблицы и т. д.) для безопасного использования в запросах без риска использования зарезервированных слов.
Это не требует supportsQuoting() для работы.
Параметры
-
string$identifier Идентификатор для указания.
Возвращает
stringreleaseSavePoint() public
releaseSavePoint(string|int $name): void
Освобождает сохраняемую точку по ее имени.
Параметры
-
string|int$name Имя или идентификатор сохраняемой точки
Возвращает
voidrollback() public
rollback(bool|null $toBeginning = null): bool
Откатить текущую транзакцию.
Параметры
-
bool|null$toBeginning необязательно Нужно ли откатить транзакцию до начала. По умолчанию false, если используются сохраняемые точки, или true, если нет.
Возвращает
boolrollbackSavepoint() public
rollbackSavepoint(string|int $name): void
Откатить сохраняемую точку по ее имени.
Параметры
-
string|int$name Имя или идентификатор сохраняемой точки
Возвращает
voidrun() public
run(Cake\Database\Query $query): Cake\Database\StatementInterface
Выполняет предоставленный запрос после его компиляции для диалекта конкретного драйвера и возвращает объект Statement, который был выполнен.
Параметры
-
Cake\Database\Query$query Запрос, который будет выполнен
Возвращает
Cake\Database\StatementInterfacesetCacher() public
setCacher(Psr\SimpleCache\CacheInterface $cacher): $this
Установить кэш.
Параметры
-
Psr\SimpleCache\CacheInterface$cacher
Возвращает
$thissetDriver() public
setDriver(Cake\Database\DriverInterface|string $driver, array<string, mixed> $config = []): $this
Устанавливает экземпляр драйвера. Если передаётся строка, она будет интерпретироваться как имя класса и будет создан экземпляр.
Параметры
-
Cake\Database\DriverInterface|string$driver Экземпляр драйвера для использования.
-
array<string, mixed>$config optional Настройка для нового драйвера.
Возвращает
$thisИсключения
Cake\Database\Exception\MissingDriverExceptionПри отсутствии класса драйвера.
Cake\Database\Exception\MissingExtensionExceptionПри отсутствии PHP расширения драйвера.
setLogger() public
setLogger(Psr\Log\LoggerInterface $logger): $this
Устанавливает логгер
Параметры
-
Psr\Log\LoggerInterface$logger Объект логгера
Возвращает
$thissetSchemaCollection() public
setSchemaCollection(Cake\Database\Schema\CollectionInterface $collection): $this
Устанавливает объект Schema\Collection для этого соединения.
Параметры
-
Cake\Database\Schema\CollectionInterface$collection Объект схемы коллекции
Возвращает
$thissupportsDynamicConstraints() public
supportsDynamicConstraints(): bool
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
Возвращает
boolsupportsQuoting() public
supportsQuoting(): bool
Проверяет, поддерживается ли использование quote().
Это не обязательно для использования quoteIdentifier().
Возвращает
booltransactional() public
transactional(callable $callback): mixed
Выполняет функцию обратного вызова внутри транзакции. Если во время выполнения переданной функции обратного вызова произойдет исключение, транзакция будет откачена. Если результат функции обратного вызова равен false, транзакция также будет откачена. В противном случае транзакция будет подтверждена после выполнения обратного вызова.
Обратный вызов получит экземпляр соединения в качестве своего первого аргумента.
Пример:
$connection->transactional(function ($connection) {
$connection->newQuery()->delete('users')->execute();
}); Параметры
-
callable$callback
Возвращает
mixedupdate() public
update(string $table, array $values, array $conditions = [], array<string> $types = []): Cake\Database\StatementInterface
Выполняет оператор UPDATE для указанной таблицы.
Параметры
-
string$table Таблица для обновления строк.
-
array$values Значения для обновления.
-
array$conditions optional Условие для оператора UPDATE.
-
array<string>$types optional Список ассоциативных массивов, содержащих типы, используемые для преобразования.
Возвращает
Cake\Database\StatementInterfacewasNestedTransactionRolledback() protected
wasNestedTransactionRolledback(): bool
Возвращает, была ли отменена вложенная транзакция.
Возвращает
boolДетали свойств
$_config protected
Содержит параметры конфигурации для этого соединения.
Тип
array<string, mixed>$_driver protected
Объект драйвера, отвечающий за создание реального соединения и предоставление конкретного диалекта SQL.
Тип
Cake\Database\DriverInterface$_logQueries protected
Включать ли логирование запросов, сгенерированных во время этого соединения.
Тип
bool$_logger protected
Экземпляр объекта логгера.
Тип
Psr\Log\LoggerInterface|null$_schemaCollection protected
Объект схемы коллекции.
Тип
Cake\Database\Schema\CollectionInterface|null$_transactionLevel protected
Содержит количество начатых вложенных транзакций.
Тип
int$_transactionStarted protected
Активна ли транзакция в этом соединении.
Тип
bool$_useSavePoints protected
Может ли и должно ли это соединение использовать контрольные точки для вложенных транзакций.
Тип
bool$cacher protected
Экземпляр объекта кэширования.
Тип
Psr\SimpleCache\CacheInterface|null$nestedTransactionRollbackException protected
Объект NestedTransactionRollbackException, который будет сохранён, если метод rollback вызывается в какой-либо вложенной транзакции.
Тип
Cake\Database\Exception\NestedTransactionRollbackException|null
© 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/4.4/class-Cake.Database.Connection.html