Spec-Zone.ru › CakePHP 4.4

Класс Connection

Представляет соединение с сервером базы данных.

Пространство имен: Cake\Database

Краткое описание свойств

  • $_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\LoggingStatement

begin() public

begin(): void

Начинает новую транзакцию.

Возвращает

void

cacheMetadata() public

cacheMetadata(string|bool $cache): void

Включает или отключает кэширование метаданных для этого подключения

Изменение этого параметра не повлияет на существующие объекты коллекций схем.

Параметры

string|bool $cache

Логический параметр false для отключения кэширования метаданных, или true для использования _cake_model_, или имя конфигурации кэша для использования.

Возвращает

void

cast() public

cast(mixed $value, Cake\Database\TypeInterface|string|int $type = 'string'): array

Преобразует заданное значение в подходящее значение базы данных на основе типа и возвращает соответствующий внутренний тип оператора.

Параметры

mixed $value

Значение для преобразования.

Cake\Database\TypeInterface|string|int $type optional

Имя типа или экземпляр типа для использования.

Возвращает

array

commit() public

commit(): bool

Подтверждает текущую транзакцию.

Возвращает

bool

compileQuery() public

compileQuery(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

Компилирует объект запроса в строку SQL в соответствии с диалектом для драйвера этого подключения.

Параметры

Cake\Database\Query $query

Запрос для компиляции.

Cake\Database\ValueBinder $binder

Привязка значений.

Возвращает

string

config() public

config(): array<string, mixed>

Получение данных конфигурации, используемых для создания подключения.

Возвращает

array<string, mixed>

configName() public

configName(): string

Получение имени конфигурации для этого подключения.

Возвращает

string

connect() 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

Имя или идентификатор точки сохранения.

Возвращает

void

delete() 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\StatementInterface

disableConstraints() public

disableConstraints(callable $callback): mixed

Выполняет операцию с отключенными ограничениями.

Ограничения должны быть повторно включены после успешного/неудачного выполнения обратного вызова.

Пример:

$connection->disableConstraints(function ($connection) {
  $connection->newQuery()->delete('users')->execute();
});

Параметры

callable $callback

Возвращает

mixed

disableForeignKeys() public

disableForeignKeys(): void

Выполняет специфичную для драйвера SQL команду для отключения проверок внешних ключей.

Возвращает

void

disableQueryLogging() public

disableQueryLogging(): $this

Отключает логирование запросов

Возвращает

$this

disableSavePoints() public

disableSavePoints(): $this

Отключает использование точек сохранения.

Возвращает

$this

disconnect() public

disconnect(): void

Отключение от сервера базы данных.

Возвращает

void

enableForeignKeys() public

enableForeignKeys(): void

Выполняет специфичную для драйвера SQL команду для включения проверок внешних ключей.

Возвращает

void

enableQueryLogging() public

enableQueryLogging(bool $enable = true): $this

Включение/отключение логирования запросов

Параметры

bool $enable optional

Включить/отключить логирование запросов

Возвращает

$this

enableSavePoints() public

enableSavePoints(bool $enable = true): $this

Включает/отключает использование точек сохранения, включает только если это поддерживается драйвером.

Если вы пытаетесь включить эту функцию, убедитесь, что вы проверили isSavePointsEnabled() для проверки успешного включения точек сохранения.

Параметры

bool $enable optional

Использовать ли точки сохранения.

Возвращает

$this

execute() public

execute(string $sql, array $params = [], array $types = []): Cake\Database\StatementInterface

Выполняет запрос, используя $params для интерполяции значений и $types в качестве подсказки для каждого из этих параметров.

Параметры

string $sql

SQL, который будет выполнен и интерполирован с помощью $params

array $params необязательно

список или ассоциативный массив параметров, которые будут интерполированы в $sql в качестве значений

array $types необязательно

список или ассоциативный массив типов, которые будут использоваться для преобразования значений в запросе

Возвращает

Cake\Database\StatementInterface

getCacher() public

getCacher(): Psr\SimpleCache\CacheInterface

Получить кэш.

Возвращает

Psr\SimpleCache\CacheInterface

getDisconnectRetry() public

getDisconnectRetry(): Cake\Core\Retry\CommandRetry

Получить объект переподключения, который позволяет восстанавливаться после разрыва соединения с сервером во время выполнения определенных действий с базой данных, таких как выполнение запроса.

Возвращает

Cake\Core\Retry\CommandRetry

getDriver() public

getDriver(): Cake\Database\DriverInterface

Получить экземпляр драйвера.

Возвращает

Cake\Database\DriverInterface

getLogger() public

getLogger(): Psr\Log\LoggerInterface

Получить объект логгера

Возвращает

Psr\Log\LoggerInterface

getSchemaCollection() public

getSchemaCollection(): Cake\Database\Schema\CollectionInterface

Получить объект Schema\Collection для этого соединения.

Возвращает

Cake\Database\Schema\CollectionInterface

inTransaction() public

inTransaction(): bool

Проверить, выполняется ли транзакция.

Возвращает

bool

insert() 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\StatementInterface

isConnected() public

isConnected(): bool

Возвращает, установлено ли соединение с сервером базы данных.

Возвращает

bool

isQueryLoggingEnabled() public

isQueryLoggingEnabled(): bool

Проверить, включен ли лог запросов.

Возвращает

bool

isSavePointsEnabled() public

isSavePointsEnabled(): bool

Возвращает, использует ли это соединение сохраняемые точки для вложенных транзакций

Возвращает

bool

log() public

log(string $sql): void

Записывает строку запроса с помощью настроенного объекта логгера.

Параметры

string $sql

строка, которая будет записана в лог

Возвращает

void

matchTypes() public

matchTypes(array $columns, array $types): array

Сопоставляет столбцы с соответствующими типами

И $columns, и $types должны быть либо числовыми, либо строковыми ключами одновременно.

Параметры

array $columns

список или ассоциативный массив столбцов и параметров, которые нужно связать с типами

array $types

список или ассоциативный массив типов

Возвращает

array

newQuery() public

newQuery(): Cake\Database\Query

Создать новый экземпляр Query для этого соединения.

Возвращает

Cake\Database\Query

prepare() public

prepare(Cake\Database\Query|string $query): Cake\Database\StatementInterface

Подготовить SQL-запрос к выполнению.

Параметры

Cake\Database\Query|string $query

SQL, который нужно преобразовать в подготовленный запрос.

Возвращает

Cake\Database\StatementInterface

query() public

query(string $sql): Cake\Database\StatementInterface

Выполняет SQL-запрос и возвращает объект Statement в качестве результата.

Параметры

string $sql

SQL-запрос для выполнения.

Возвращает

Cake\Database\StatementInterface

quote() public

quote(mixed $value, Cake\Database\TypeInterface|string|int $type = 'string'): string

Указывает значение для безопасного использования в запросе к базе данных.

Использует PDO::quote() и требует supportsQuoting() для работы.

Параметры

mixed $value

Значение для указания.

Cake\Database\TypeInterface|string|int $type необязательно

Тип, используемый для определения типа указания

Возвращает

string

quoteIdentifier() public

quoteIdentifier(string $identifier): string

Указывает идентификатор базы данных (имя столбца, имя таблицы и т. д.) для безопасного использования в запросах без риска использования зарезервированных слов.

Это не требует supportsQuoting() для работы.

Параметры

string $identifier

Идентификатор для указания.

Возвращает

string

releaseSavePoint() public

releaseSavePoint(string|int $name): void

Освобождает сохраняемую точку по ее имени.

Параметры

string|int $name

Имя или идентификатор сохраняемой точки

Возвращает

void

rollback() public

rollback(bool|null $toBeginning = null): bool

Откатить текущую транзакцию.

Параметры

bool|null $toBeginning необязательно

Нужно ли откатить транзакцию до начала. По умолчанию false, если используются сохраняемые точки, или true, если нет.

Возвращает

bool

rollbackSavepoint() public

rollbackSavepoint(string|int $name): void

Откатить сохраняемую точку по ее имени.

Параметры

string|int $name

Имя или идентификатор сохраняемой точки

Возвращает

void

run() public

run(Cake\Database\Query $query): Cake\Database\StatementInterface

Выполняет предоставленный запрос после его компиляции для диалекта конкретного драйвера и возвращает объект Statement, который был выполнен.

Параметры

Cake\Database\Query $query

Запрос, который будет выполнен

Возвращает

Cake\Database\StatementInterface

setCacher() public

setCacher(Psr\SimpleCache\CacheInterface $cacher): $this

Установить кэш.

Параметры

Psr\SimpleCache\CacheInterface $cacher

Возвращает

$this

setDriver() 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

Объект логгера

Возвращает

$this

setSchemaCollection() public

setSchemaCollection(Cake\Database\Schema\CollectionInterface $collection): $this

Устанавливает объект Schema\Collection для этого соединения.

Параметры

Cake\Database\Schema\CollectionInterface $collection

Объект схемы коллекции

Возвращает

$this

supportsDynamicConstraints() public

supportsDynamicConstraints(): bool

Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.

Возвращает

bool

supportsQuoting() public

supportsQuoting(): bool

Проверяет, поддерживается ли использование quote().

Это не обязательно для использования quoteIdentifier().

Возвращает

bool

transactional() public

transactional(callable $callback): mixed

Выполняет функцию обратного вызова внутри транзакции. Если во время выполнения переданной функции обратного вызова произойдет исключение, транзакция будет откачена. Если результат функции обратного вызова равен false, транзакция также будет откачена. В противном случае транзакция будет подтверждена после выполнения обратного вызова.

Обратный вызов получит экземпляр соединения в качестве своего первого аргумента.

Пример:

$connection->transactional(function ($connection) {
  $connection->newQuery()->delete('users')->execute();
});

Параметры

callable $callback

Возвращает

mixed

update() 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\StatementInterface

wasNestedTransactionRolledback() 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API