Spec-Zone.ru › CakePHP 3.7

Класс Connection

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

Cake\Database\Connection реализует Cake\Datasource\ConnectionInterface использует Cake\Database\TypeConverterTrait
Пространство имён: Cake\Database
Расположение: 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, будет сохранён, если метод rollback вызван в какой-либо вложенной транзакции.

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

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

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

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

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

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

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

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

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

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

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

__construct()source public

__construct( array $config )

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

Параметры

массив $config
настройка для подключения к базе данных

__debugInfo()source public

__debugInfo( )

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

Возвращает

массив

__destruct()source public

__destruct( )

Деструктор

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

_newLogger()source protected

_newLogger( Cake\Database\StatementInterface $statement )

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

Параметры

Cake\Database\StatementInterface $statement
объект, который нужно отформатировать

Возвращает

Cake\Database\Log\LoggingStatement

begin()source public

begin( )

Инициализирует новую транзакцию.

cacheMetadata()source public

cacheMetadata( boolean|string $cache )

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

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

Параметры

boolean|string $cache

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

commit()source public

commit( )

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

Возвращает

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

compileQuery()source public

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

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

Параметры

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

Возвращает

строка

config()source public

config( )

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

Возвращает

массив

Реализация

Cake\Datasource\ConnectionInterface::config()

configName()source public

configName( )

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

Возвращает

строка

Реализация

Cake\Datasource\ConnectionInterface::configName()

connect()source public

connect( )

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

Возвращает

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

Выбрасывает

Cake\Database\Exception\MissingConnectionException
если учетные данные недействительны.

createSavePoint()source public

createSavePoint( string $name )

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

Параметры

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

delete()source public

delete( string $table , array $conditions = [] , array $types = [] )

Выполняет оператор DELETE для указанной таблицы.

Параметры

строка $table
таблица, из которой нужно удалить строки
массив $conditions необязательно []
условия для оператора delete
массив $types необязательно []
список ассоциативных массивов, содержащих типы для преобразования

Возвращает

Cake\Database\StatementInterface

disableConstraints()source public

disableConstraints( callable $callback )

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

Пример:

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

Параметры

обратный вызов $callback
$operation Обратный вызов для выполнения в транзакции.

Возвращает

смешанный
Возвращаемое значение обратного вызова.

Выбрасывает

Исключение

Перебросит любое исключение, поднятое в $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|строка|null $driver необязательно null
Экземпляр драйвера для использования.
массив $config необязательно []
Либо конфигурация для нового драйвера, либо 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
END_OF_DOCUMENT_MARKER

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 как подсказку для каждого из этих параметров.

Параметры

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

Возвращает

Cake\Database\StatementInterface
выполняемый оператор

getDisconnectRetry()source public

getDisconnectRetry( )

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

Возвращает

Cake\Core\Retry\CommandRetry
Объект повторных попыток

getDriver()source public

getDriver( )

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

Возвращает

Cake\Database\Driver

getLogger()source public

getLogger( )

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

Возвращает

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

getSchemaCollection()source public

getSchemaCollection( )

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

Возвращает

Cake\Database\Schema\Collection

inTransaction()source public

inTransaction( )

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

Возвращает

boolean
True, если транзакция выполняется, иначе false.

insert()source public

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

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

Параметры

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

Возвращает

Cake\Database\StatementInterface

isConnected()source public

isConnected( )

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

Возвращает

boolean

isQueryLoggingEnabled()source public

isQueryLoggingEnabled( )

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

Возвращает

boolean

isSavePointsEnabled()source public

isSavePointsEnabled( )

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

Возвращает

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

log()source public

log( string $sql )

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

Параметры

string $sql
строка, которая должна быть записана в лог

logQueries()source public deprecated

logQueries( boolean|null $enable = null )

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

Устарело

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

Параметры

boolean|null $enable optional null

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

Возвращает

boolean

Реализация

Cake\Datasource\ConnectionInterface::logQueries()

logger()source public deprecated

logger( object|null $instance = null )

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

Устарело

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

Параметры

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

Возвращает

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

Реализация

Cake\Datasource\ConnectionInterface::logger()

newQuery()source public

newQuery( )

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

Возвращает

Cake\Database\Query

prepare()source public

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

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

Параметры

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

Возвращает

Cake\Database\StatementInterface

query()source public

query( string $sql )

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

Параметры

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

Возвращает

Cake\Database\StatementInterface

quote()source public

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

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

Параметры

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

Возвращает

string
Приведенное значение

quoteIdentifier()source public

quoteIdentifier( string $identifier )

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

Параметры

string $identifier
Идентификатор, который нужно привести к виду, подходящему для использования в запросах.

Возвращает

string

releaseSavePoint()source public

releaseSavePoint( string $name )

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

Параметры

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

rollback()source public

rollback( boolean|null $toBeginning = null )

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

Параметры

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

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

Возвращает

boolean

rollbackSavepoint()source public

rollbackSavepoint( string $name )

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

Параметры

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 необязательно null
Объект схемы коллекции

Возвращает

Cake\Database\Schema\Collection

setDriver()source public

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

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

Параметры

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

Возвращает


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

Возвращает

Cake\Database\StatementInterface

useSavePoints()source public deprecated

useSavePoints( boolean|null $enable = null )

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

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

Пример:

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

Устарело

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

Параметры

boolean|null $enable необязательно null
Использовать ли savepoints.

Возвращает

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.

END_OF_DOCUMENT_MARKER

$_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, который будет сохранён, если метод rollback вызывается в какой-либо вложенной транзакции.

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

Spec-Zone.ru

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