Класс Connection
Представляет подключение к серверу базы данных.
Краткое описание свойств
- $_config protected
arrayСодержит параметры конфигурации для этого подключения.
- $_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
Подключается к базе данных с заданными параметрами.
-
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
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
-
supportsQuoting() public
Проверяет, поддерживает ли драйвер цитирование.
-
transactional() public
Выполняет вызываемую функцию внутри транзакции. Если при выполнении переданной вызываемой функции произойдёт исключение, транзакция будет откачена. Если результат вызываемой функции равен
false, транзакция также будет откачена. В противном случае транзакция будет подтверждена после выполнения обратного вызова. -
update() public
Выполняет оператор UPDATE для указанной таблицы.
-
wasNestedTransactionRolledback() protected
Возвращает значение, указывающее, была ли уже откачена какая-либо вложенная транзакция.
Подробное описание методов
__construct() public
__construct(array $config)
Конструктор.
Доступные опции:
-
driverСортировка имени или FCQN для драйвера. -
logЛогическое значение, указывающее, следует ли использовать ведение журнала запросов. -
nameИмя соединения. -
cacheMetaDataЛогическое значение, указывающее, следует ли кэшировать метаданные (схемы источников данных). Если задано как строка, оно будет использоваться как имя конфигурации кэша. -
cacheKeyPrefixПользовательский префикс, используемый при генерации ключей кэша. По умолчанию используется имя соединения.
Параметры
-
array$config Массив конфигурации.
__debugInfo() public
__debugInfo(): array
Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.
Возвращает
array__destruct() public
__destruct()
Деструктор
Отключает драйвер для освобождения соединения.
_newLogger() protected
_newLogger(Cake\Database\StatementInterface $statement): Cake\Database\Log\LoggingStatement
Возвращает новый объект statement, который будет вести журнал активности для переданного исходного экземпляра statement.
Параметры
-
Cake\Database\StatementInterface$statement экземпляр, который нужно декорировать
Возвращает
Cake\Database\Log\LoggingStatementbegin() public
begin(): void
Начинает новую транзакцию.
Возвращает
voidcacheMetadata() public
cacheMetadata(bool|string $cache): void
Включает или отключает кэширование метаданных для этого соединения
Изменение этого параметра не изменит существующие объекты коллекций схем.
Параметры
-
bool|string$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
Компилирует объект Query в строку 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 $types = []): Cake\Database\StatementInterface
Выполнить запрос INSERT в указанной таблице.
Параметры
-
string$table таблица, в которую нужно вставить значения
-
array$values значения, которые нужно вставить
-
array$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(stringCake\Database\Query $query): Cake\Database\StatementInterface
Подготовить SQL-запрос к выполнению.
Параметры
-
stringCake\Database\Query$query SQL-запрос, который нужно преобразовать в подготовленное утверждение.
Возвращает
Cake\Database\StatementInterfacequery() public
query(string $sql): Cake\Database\StatementInterface
Выполняет SQL-запрос и возвращает объект Statement в качестве результата.
Параметры
-
string$sql SQL-запрос для выполнения.
Возвращает
Cake\Database\StatementInterfacequote() public
quote(mixed $value, string|intCake\Database\TypeInterface $type = 'string'): string
Зациклить значение для безопасного использования в запросе к базе данных.
Параметры
-
mixed$value Значение, которое нужно зациклить.
-
string|intCake\Database\TypeInterface$type optional Тип, который используется для определения вида цитирования
Возвращает
stringquoteIdentifier() public
quoteIdentifier(string $identifier): string
Зацикливает идентификатор базы данных (имя столбца, имя таблицы и т. д.) для безопасного использования в запросах без риска использования зарезервированных слов.
Параметры
-
string$identifier Идентификатор для цитирования.
Возвращает
stringreleaseSavePoint() public
releaseSavePoint(string|int $name): void
Освобождает сохраняемую точку по её имени.
Параметры
-
string|int$name Имя или id сохраняемой точки
Возвращает
voidrollback() public
rollback(bool|null $toBeginning = null): bool
Откатить текущую транзакцию.
Параметры
-
bool|null$toBeginning optional Если транзакция должна быть откачена в начало. По умолчанию false при использовании сохраняемых точек или true если нет.
Возвращает
boolrollbackSavepoint() public
rollbackSavepoint(string|int $name): void
Откатить сохраняемую точку по её имени.
Параметры
-
string|int$name Имя или id сохраняемой точки
Возвращает
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 $config = []): $this
Устанавливает экземпляр драйвера. Если передаётся строка, она будет рассматриваться как имя класса и будет создана.
Параметры
-
Cake\Database\DriverInterface|string$driver Экземпляр драйвера для использования.
-
array$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
Проверяет, поддерживает ли драйвер цитирование.
Возвращает
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 условия, которые должны быть установлены для оператора обновления
-
array$types optional список ассоциативных массивов, содержащих типы, используемые для приведения типов
Возвращает
Cake\Database\StatementInterfacewasNestedTransactionRolledback() protected
wasNestedTransactionRolledback(): bool
Возвращает, была ли уже откачена вложенная транзакция.
Возвращает
boolПодробности свойств
$_config protected
Содержит параметры конфигурации для этого соединения.
Тип
array$_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.2/class-Cake.Database.Connection.html