Класс 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
Компилирует объект запроса в строку 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 как подсказку для каждого из этих параметров.
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
Устанавливает экземпляр драйвера. Если переданная строка, она будет обработана как имя класса и будет проинициализирована.
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
Получает данные конфигурации, используемые для создания подключения.
Возвращает
arrayconfigName() public
configName(): string
Получает имя конфигурации для этого подключения.
Возвращает
stringconnect() public
connect(): bool
Подключается к базе данных с заданными параметрами.
Возвращает
boolВызывает исключение
Cake\Database\Exception\MissingConnectionExceptionПри невозможности установить подключение к базе данных.
createSavePoint() public
createSavePoint(string|int $name): void
Создаёт новую точку сохранения для вложенных транзакций.
Параметры
-
string|int$name Имя или идентификатор точки сохранения.
Возвращает
voiddelete() public
delete(string $table, array $conditions = [], array $types = []): Cake\Database\StatementInterface
Выполняет оператор DELETE для указанной таблицы.
Параметры
-
string$table Таблица, из которой необходимо удалить строки.
-
array$conditions optional Условия для оператора DELETE.
-
array$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 optional Список или ассоциативный массив параметров для интерполяции в $sql как значений.
-
array$types optional Список или ассоциативный массив типов, которые следует использовать для преобразования значений в запросе.
Возвращает
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<string, string> $types = []): Cake\Database\StatementInterface
Выполняет запрос INSERT для указанной таблицы.
Параметры
-
string$table таблица, в которую нужно вставить значения
-
array$values значения, которые нужно вставить
-
array<string, string>$types optional список ассоциативных массивов, содержащий типы, которые нужно использовать для преобразования
Возвращает
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 optional Тип, используемый для определения вида цитирования.
Возвращает
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 optional Возвращает, должна ли транзакция быть откачена до её начала. По умолчанию 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 $types = []): Cake\Database\StatementInterface
Выполняет оператор UPDATE для указанной таблицы.
Параметры
-
string$table таблица, для которой нужно обновить строки
-
array$values значения, которые нужно обновить
-
array$conditions optional условия для оператора update
-
array$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.3/class-Cake.Database.Connection.html