Spec-Zone.ru › CakePHP 3.8

Класс Connection

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

Cake\Database\Connection implements Cake\Datasource\ConnectionInterface uses Cake\Database\TypeConverterTrait
Namespace: Cake\Database
Location: Database/Connection.php

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

  • $_config protected
    array
    Содержит параметры конфигурации для этого соединения.
  • $_driver protected
    Cake\Database\Driver

    Объект драйвера, ответственный за создание реального соединения и предоставление специфического SQL-диалекта.

  • $_logQueries protected
    boolean
    Включает ли логирование запросов, сгенерированных во время этого соединения.
  • $_logger protected
    Cake\Database\Log\QueryLogger|null
    Экземпляр объекта регистратора.
  • $_schemaCollection protected
    Cake\Database\Schema\Collection|null
    Объект коллекции схем
  • $_transactionLevel protected
    integer
    Содержит количество начатых вложенных транзакций.
  • $_transactionStarted protected
    boolean
    Активна ли транзакция в этом соединении.
  • $_useSavePoints protected
    boolean

    Может ли и должно ли это соединение использовать точки сохранения для вложенных транзакций.

  • $nestedTransactionRollbackException protected
    Cake\Database\Exception\NestedTransactionRollbackException|null

    Экземпляр объекта NestedTransactionRollbackException, будет сохранен, если метод отката будет вызван в некоторой вложенной транзакции.

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

  • __construct() public
    Конструктор.
  • __debugInfo() public

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

  • __destruct() public
    Деструктор
  • _newLogger() protected

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

  • begin() public
    Начинает новую транзакцию.
  • cacheMetadata() 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
    Отключается от сервера базы данных.
  • driver() public deprecated

    Устанавливает экземпляр драйвера. Если передана строка, она будет рассматриваться как имя класса и будет создан экземпляр.

  • enableForeignKeys() public
    Выполняет специфичный для драйвера SQL запрос для включения проверок внешних ключей.
  • enableQueryLogging() public
    Включает/отключает логирование запросов
  • enableSavePoints() public
    Включает/отключает использование точек сохранения, включает только если драйвер это позволяет.
  • execute() public

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

  • getDisconnectRetry() public

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

  • getDriver() public
    Получает экземпляр драйвера.
  • getLogger() public
    Получает объект логгера
  • getSchemaCollection() public
    Получает объект Schema\Collection для этого соединения.
  • inTransaction() public
    Проверяет, запущена ли транзакция.
  • insert() public
    Выполняет запрос INSERT в указанной таблице.
  • isConnected() public
    Возвращает, было ли уже установлено соединение с сервером базы данных.
  • isQueryLoggingEnabled() public
    Проверяет, включено ли логирование запросов.
  • isSavePointsEnabled() public
    Возвращает, использует ли это соединение точки сохранения для вложенных транзакций
  • log() public
    Логирует строку запроса, используя настроенный объект логгера.
  • logQueries() public deprecated
    Включает или отключает логирование запросов для этого соединения.
  • logger() public deprecated

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

  • newQuery() public
    Создает новый экземпляр Query для этого соединения.
  • prepare() public
    Подготавливает SQL-запрос к выполнению.
  • query() public
    Выполняет SQL-запрос и возвращает объект Statement в качестве результата.
  • quote() public
    Заключает значение в кавычки для безопасного использования в запросе к базе данных.
  • quoteIdentifier() public

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

  • releaseSavePoint() public
    Освобождает точку сохранения по её имени.
  • rollback() public
    Откатывает текущую транзакцию.
  • rollbackSavepoint() public
    Откатывает точку сохранения по её имени.
  • run() public

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

  • schemaCollection() public deprecated
    Получает или устанавливает объект Schema\Collection для этого соединения.
  • setDriver() public

    Устанавливает экземпляр драйвера. Если передана строка, она будет рассматриваться как имя класса и будет создан экземпляр.

  • setLogger() public
    Устанавливает логгер
  • setSchemaCollection() public
    Устанавливает объект Schema\Collection для этого соединения.
  • supportsDynamicConstraints() public

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

  • supportsQuoting() public
    Проверяет, поддерживает ли драйвер заключение в кавычки.
  • transactional() public

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

  • update() public
    Выполняет оператор UPDATE в указанной таблице.
  • useSavePoints() public deprecated

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

  • wasNestedTransactionRolledback() protected
    Возвращает, была ли уже отменена какая-либо вложенная транзакция.

Подробное описание методов

__construct()source public

__construct( array $config )

Конструктор.

Параметры

array $config
конфигурация для подключения к базе данных

__debugInfo()source public

__debugInfo( )

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

Возвращает

array

__destruct()source public

__destruct( )

Деструктор

Отключает драйвер для освобождения соединения.

_newLogger()source protected

_newLogger( Cake\Database\StatementInterface $statement )

Возвращает новый объект statement, который будет регистрировать активность для переданного исходного экземпляра statement.

Параметры

Cake\Database\StatementInterface $statement
экземпляр, который необходимо декорировать

Возвращает

Cake\Database\Log\LoggingStatement

begin()source public

begin( )

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

cacheMetadata()source public

cacheMetadata( boolean|string $cache )

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

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

Параметры

boolean|string $cache

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

commit()source public

commit( )

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

Возвращает

boolean
true в случае успеха, false в противном случае

compileQuery()source public

compileQuery( Cake\Database\Query $query , Cake\Database\ValueBinder $generator )

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

Параметры

Cake\Database\Query $query
Запрос для компиляции
Cake\Database\ValueBinder $generator
Генератор заполнителей для использования

Возвращает

string

config()source public

config( )

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

Возвращает

array

Реализация

Cake\Datasource\ConnectionInterface::config()

configName()source public

configName( )

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

Возвращает

string

Реализация

Cake\Datasource\ConnectionInterface::configName()

connect()source public

connect( )

Подключается к настроенной базе данных.

Возвращает

boolean
true, если соединение уже установлено или попытка была успешной.

Вызывает исключение

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 $conditions optional []
условия, которые необходимо установить для оператора delete
array $types optional []
список ассоциативных массивов, содержащих типы, которые будут использоваться для преобразования типов

Возвращает

Cake\Database\StatementInterface

disableConstraints()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-код для отключения проверок внешних ключей.

disableQueryLogging()source public

disableQueryLogging( )

Отключить ведение журнала запросов

Возвращает


$this

disableSavePoints()source public

disableSavePoints( )

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

Возвращает


$this

disconnect()source public

disconnect( )

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

driver()source public deprecated

driver( Cake\Database\Driver|string|null $driver = null , array $config = [] )

Устанавливает экземпляр драйвера. Если передается строка, она будет рассматриваться как имя класса и будет создан экземпляр.

Если параметры не передаются, будет возвращен текущий экземпляр драйвера.

Устарело

3.4.0 Используйте setDriver()/getDriver() вместо этого.

Параметры

Cake\Database\Driver|string|null $driver optional null
Экземпляр драйвера для использования.
array $config optional []
Либо конфигурация для нового драйвера, либо null.

Возвращает

Cake\Database\Driver

Вызывает исключение

Cake\Database\Exception\MissingDriverException
Когда отсутствует класс драйвера.
Cake\Database\Exception\MissingExtensionException
Когда отсутствует расширение PHP драйвера.

enableForeignKeys()source public

enableForeignKeys( )

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

enableQueryLogging()source public

enableQueryLogging( boolean $value )

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

Параметры

boolean $value
Включить/отключить ведение журнала запросов

Возвращает


$this

enableSavePoints()source public

enableSavePoints( boolean $enable )

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

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

Пример:

$connection->enableSavePoints(true) Возвращает true, если драйверы поддерживают точки сохранения, false в противном случае $connection->enableSavePoints(false) Отключает использование точек сохранения и возвращает false

Параметры

boolean $enable
Следует ли использовать точки сохранения.

Возвращает


$this

execute()source public

execute( string $query , array $params = [] , array $types = [] )

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

Parameters

string $query
SQL-запрос для выполнения и интерполяции с $params
array $params optional []
список или ассоциативный массив параметров для интерполяции в $query в качестве значений
array $types optional []
список или ассоциативный массив типов, которые будут использоваться для приведения типов значений в запросе

Returns

Cake\Database\StatementInterface
выполненное выражение

getDisconnectRetry()source public

getDisconnectRetry( )

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

Returns

Cake\Core\Retry\CommandRetry
Объект-обёртка для повторных попыток

getDriver()source public

getDriver( )

Возвращает экземпляр драйвера.

Returns

Cake\Database\Driver

getLogger()source public

getLogger( )

Возвращает объект-логгер

Returns

Cake\Database\Log\QueryLogger
экземпляр логгера

getSchemaCollection()source public

getSchemaCollection( )

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

Returns

Cake\Database\Schema\Collection

inTransaction()source public

inTransaction( )

Проверяет, запущена ли транзакция.

Returns

boolean
True, если транзакция запущена, иначе false.

insert()source public

insert( string $table , array $data , array $types = [] )

Выполняет запрос INSERT в указанную таблицу.

Parameters

string $table
таблица, в которую будут вставлены значения
array $data
значения для вставки
array $types optional []
список ассоциативных массивов, содержащих типы, которые будут использоваться для приведения типов

Returns

Cake\Database\StatementInterface

isConnected()source public

isConnected( )

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

Returns

boolean

isQueryLoggingEnabled()source public

isQueryLoggingEnabled( )

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

Returns

boolean

isSavePointsEnabled()source public

isSavePointsEnabled( )

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

Returns

boolean
true, если включено, false в противном случае

log()source public

log( string $sql )

Логирует строку запроса, используя настроенный объект-логгер.

Parameters

string $sql
строка для логирования

logQueries()source public deprecated

logQueries( boolean|null $enable = null )

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

Deprecated

3.7.0 Используйте enableQueryLogging() и isQueryLoggingEnabled() вместо этого.

Parameters

boolean|null $enable optional null

включить или отключить логирование. Используйте null для чтения текущего значения.

Returns

boolean

Implementation of

Cake\Datasource\ConnectionInterface::logQueries()

logger()source public deprecated

logger( object|null $instance = null )

Устанавливает экземпляр объекта-логгера. При вызове без аргументов возвращает текущий настроенный экземпляр логгера.

Deprecated

3.5.0 Используйте getLogger() и setLogger() вместо этого.

Parameters

object|null $instance optional null
экземпляр объекта-логгера

Returns

object
экземпляр логгера

Implementation of

Cake\Datasource\ConnectionInterface::logger()

newQuery()source public

newQuery( )

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

Returns

Cake\Database\Query

prepare()source public

prepare( string|Cake\Database\Query $sql )

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

Parameters

string|Cake\Database\Query $sql
SQL-запрос для преобразования в подготовленное выражение.

Returns

Cake\Database\StatementInterface

query()source public

query( string $sql )

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

Parameters

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

Returns

Cake\Database\StatementInterface

quote()source public

quote( mixed $value , string|null $type = null )

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

Parameters

mixed $value
Значение для экранирования.
string|null $type optional null
Тип, который будет использоваться для определения типа экранирования.

Returns

string
Экранированное значение

quoteIdentifier()source public

quoteIdentifier( string $identifier )

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

Parameters

string $identifier
Идентификатор для экранирования.

Returns

string

releaseSavePoint()source public

releaseSavePoint( string $name )

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

Parameters

string $name
Имя точки сохранения.

rollback()source public

rollback( boolean|null $toBeginning = null )

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

Parameters

boolean|null $toBeginning optional null

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

Returns

boolean

rollbackSavepoint()source public

rollbackSavepoint( string $name )

Откатывает точку сохранения по её имени.

Parameters

string $name
Имя точки сохранения.

run()source public

run( Cake\Database\Query $query )

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

Параметры

Cake\Database\Query $query
Запрос для выполнения

Возвращает

Cake\Database\StatementInterface
выполненное выражение

schemaCollection()source public deprecated

schemaCollection( Cake\Database\Schema\Collection $collection = null )

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

Устарело

3.4.0 Используйте setSchemaCollection()/getSchemaCollection()

Параметры

Cake\Database\Schema\Collection $collection optional null
Объект коллекции схем

Возвращает

Cake\Database\Schema\Collection

setDriver()source public

setDriver( Cake\Database\Driver|string $driver , array $config = [] )

Устанавливает экземпляр драйвера. Если передается строка, она будет рассматриваться как имя класса и будет создан экземпляр.

Параметры

Cake\Database\Driver|string $driver
Экземпляр драйвера для использования.
array $config optional []
Конфигурация для нового драйвера.

Возвращает


$this

Выбрасывает

Cake\Database\Exception\MissingDriverException
Когда отсутствует класс драйвера.
Cake\Database\Exception\MissingExtensionException
Когда отсутствует расширение PHP драйвера.

setLogger()source public

setLogger( Cake\Database\Log\QueryLogger $logger )

Устанавливает регистратор

Параметры

Cake\Database\Log\QueryLogger $logger
Объект регистратора

Возвращает


$this

setSchemaCollection()source public

setSchemaCollection( Cake\Database\Schema\Collection $collection )

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

Параметры

Cake\Database\Schema\Collection $collection
Объект коллекции схем

Возвращает


$this

supportsDynamicConstraints()source public

supportsDynamicConstraints( )

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

Возвращает

boolean
true, если драйвер поддерживает динамические ограничения

supportsQuoting()source public

supportsQuoting( )

Проверяет, поддерживает ли драйвер кавычки.

Возвращает

boolean

transactional()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 $conditions optional []
условия, которые необходимо установить для оператора update
array $types optional []
список ассоциативных массивов, содержащих типы, которые будут использоваться для преобразования типов

Возвращает

Cake\Database\StatementInterface

useSavePoints()source public deprecated

useSavePoints( boolean|null $enable = null )

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

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

Пример:

$connection->useSavePoints(true) Возвращает true, если драйверы поддерживают контрольные точки, false в противном случае $connection->useSavePoints(false) Отключает использование контрольных точек и возвращает false $connection->useSavePoints() Возвращает текущий статус

Устарело

3.4.0 Используйте enableSavePoints()/isSavePointsEnabled() вместо этого.

Параметры

boolean|null $enable optional null
Следует ли использовать контрольные точки.

Возвращает

boolean
true, если включено, false в противном случае

wasNestedTransactionRolledback()source protected

wasNestedTransactionRolledback( )

Возвращает, была ли уже отменена какая-либо вложенная транзакция.

Возвращает

boolean

Методы, используемые из 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

Магические методы, унаследованные от Cake\Datasource\ConnectionInterface

execute(), getLogger(), getSchemaCollection(), isQueryLoggingEnabled(), newQuery(), prepare(), quote(), supportsDynamicConstraints()

Подробное описание свойств

$_configsource

protected array

Содержит параметры конфигурации для этого соединения.

$_driversource

protected Cake\Database\Driver

Объект драйвера, ответственный за создание реального соединения и предоставление конкретного диалекта SQL.

$_logQueriessource

protected boolean

Необходимо ли регистрировать запросы, созданные во время этого соединения.

false

$_loggersource

protected Cake\Database\Log\QueryLogger|null

Экземпляр объекта регистратора.

$_schemaCollectionsource

protected Cake\Database\Schema\Collection|null

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

$_transactionLevelsource

protected integer

Содержит количество начатых вложенных транзакций.

$_transactionStartedsource

protected boolean

Активна ли транзакция в этом соединении.

false

$_useSavePointssource

protected boolean

Может ли и должно ли это соединение использовать точки сохранения для вложенных транзакций.

false

$nestedTransactionRollbackExceptionsource

protected Cake\Database\Exception\NestedTransactionRollbackException|null

Экземпляр объекта NestedTransactionRollbackException, будет сохранен, если метод отката будет вызван в какой-либо вложенной транзакции.

© 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/3.8/class-Cake.Database.Connection.html

Spec-Zone.ru

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