Spec-Zone.ru › CakePHP 3.8

Класс ConnectionRegistry

Объект-реестр для экземпляров соединений.

Cake\Core\ObjectRegistry implements Countable, IteratorAggregate
Расширено Cake\Datasource\ConnectionRegistry
Пространство имён: Cake\Datasource
См.: Cake\Datasource\ConnectionManager
Расположение: Datasource/ConnectionRegistry.php

Унаследованные свойства

  • _loaded

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

  • _create() protected
    Создать объект подключения с правильными настройками.
  • _resolveClassName() protected
    Разрешить имя класса источника данных.
  • _throwMissingClassError() protected
    Выбрасывает исключение, когда источник данных отсутствует
  • unload() public
    Удалить один адаптер из реестра.

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

_create()source protected

_create( string|object|callable $class , string $alias , array $settings )

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

Часть шаблонового метода для Cake\Core\ObjectRegistry::load()

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

Параметры

string|object|callable $class
Имя класса или объект для создания.
string $alias
Псевдоним объекта.
array $settings
Массив настроек для использования в источнике данных.

Возвращает

object
Подключение с правильными настройками.

_resolveClassName()source protected

_resolveClassName( string $class )

Разрешить имя класса источника данных.

Часть шаблонового метода для Cake\Core\ObjectRegistry::load()

Параметры

string $class
Частичное имя класса для разрешения.

Возвращает

string|false
Либо правильное имя класса, либо false.

_throwMissingClassError()source protected

_throwMissingClassError( string $class , string $plugin )

Выбрасывает исключение, когда источник данных отсутствует

Часть шаблонового метода для Cake\Core\ObjectRegistry::load()

Параметры

string $class
Имя класса, которого нет.
string $plugin
Плагин, в котором отсутствует источник данных.

Исключения

Cake\Datasource\Exception\MissingDatasourceException

unload()source public

unload( string $name )

Удалить один адаптер из реестра.

Параметры

string $name
Имя адаптера.

Переопределяет

Cake\Core\ObjectRegistry::unload()

Методы, унаследованные от Cake\Core\ObjectRegistry

__debugInfo()source public

__debugInfo( )

Свойства объекта для отладки.

Возвращает

array

__get()source public

__get( string $name )

Предоставление публичного доступа для чтения к загруженным объектам

Параметры

string $name
Имя свойства для чтения

Возвращает

mixed

__isset()source public

__isset( string $name )

Предоставление доступа isset к _loaded

Параметры

string $name
Имя проверяемого объекта.

Возвращает

boolean

__set()source public

__set( string $name , mixed $object )

Устанавливает объект.

Параметры

string $name
Имя свойства для установки.
mixed $object
Объект для установки.

__unset()source public

__unset( string $name )

Удаляет объект.

Параметры

string $name
Имя свойства для удаления.

_checkDuplicate()source protected

_checkDuplicate( string $name , array $config )

Проверка на дублирование загрузки объектов.

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

Выбрасывается исключение, так как замена объекта не обновит ссылки, которые могут иметь другие объекты. Кроме того, простое обновление настроек выполнения не является хорошим вариантом, так как мы можем пропустить важную логику конструктора, зависящую от настроек.

Параметры

string $name
Имя псевдонима в реестре.
array $config
Данные конфигурации для нового экземпляра.

Исключения

RuntimeException
При обнаружении дубликата.

count()source public

count( )

Возвращает количество загруженных объектов.

Возвращает

integer

Реализация

Countable::count()

get()source public

get( string $name )

Получение экземпляра загруженного объекта.

Параметры

string $name
Имя объекта.

Возвращает

object|null
Экземпляр объекта, если он загружен, иначе null.

getIterator()source public

getIterator( )

Возвращает итератор массива.

Возвращает

ArrayIterator

Реализация

IteratorAggregate::getIterator()

has()source public

has( string $name )

Проверка наличия указанного объекта.

Параметры

string $name
Имя проверяемого объекта.

Возвращает

boolean
True, если объект загружен, иначе false.

load()source public

load( string $objectName , array $config = [] )

Загрузка/создание экземпляра объекта.

Вернёт экземпляр из реестра, если он уже существует. Если подкласс поддерживает события, вы можете использовать $config['enabled'] = false для исключения созданных объектов из регистрации событий.

Пример, используя Cake\Controller\Controller::$components. Вы можете назначить псевдоним объекту, установив ключ 'className', например:

public $components = [
  'Email' => [
    'className' => '\App\Controller\Component\AliasedEmailComponent'
  ];
];

Все вызовы компонента Email будут использовать AliasedEmail вместо него.

Параметры

string $objectName
Имя/класс объекта для загрузки.
array $config optional []
Дополнительные настройки для использования при загрузке объекта.

Возвращает

mixed

Исключения

Exception
Если класс не найден.

loaded()source public

loaded( )

Список загруженных объектов.

Возвращает

string[]
Список имён объектов.
END_OF_DOCUMENT_MARKER ```

normalizeArray()source public

normalizeArray( array $objects )

Нормализует массив объектов, создает массив, который упрощает ленивую загрузку

Параметры

массив $objects
Массив дочерних объектов для нормализации.

Возвращаемое значение

массив
Массив нормализованных объектов.

reset()source public

reset( )

Очистить загруженные экземпляры в реестре.

Если подкласс реестра имеет менеджер событий, объекты также будут отделены от событий.

Возвращаемое значение


$this

set()source public

set( string $objectName , object $object )

Установить объект непосредственно в реестр по имени.

Если эта коллекция реализует события, переданный объект будет подключен к менеджеру событий

Параметры

строка $objectName
Имя объекта для установки в реестре.
объект $object
экземпляр для хранения в реестре

Возвращаемое значение


$this

© 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.Datasource.ConnectionRegistry.html

Spec-Zone.ru

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