Класс LogEngineRegistry
Регистр загруженных лог-движков
- Cake\Core\ObjectRegistry implements Countable, IteratorAggregate
-
Cake\Log\LogEngineRegistry
Унаследованные свойства
Краткое описание методов
- _create() protectedСоздание экземпляра логгера.
- _resolveClassName() protectedРазрешение имени класса логгера.
- _throwMissingClassError() protectedВыбрасывает исключение, если логгер отсутствует.
- unload() publicУдаление отдельного логгера из реестра.
Подробное описание методов
_create()source protected
_create( string|Psr\Log\LoggerInterface $class , string $alias , array $settings )
Создание экземпляра логгера.
Часть шаблонного метода для Cake\Core\ObjectRegistry::load()
Параметры
- string|Psr\Log\LoggerInterface
$class - Имя класса или объект для создания.
- string
$alias - Псевдоним объекта.
- array
$settings - Массив настроек для использования логгером.
Возвращает
Psr\Log\LoggerInterfaceКласс созданного логгера.
Исключение
RuntimeExceptionкогда объект не реализует правильный интерфейс.
_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 - Плагин, в котором отсутствует логгер.
Исключение
RuntimeExceptionunload()source public
unload( string $name )
Удаление отдельного логгера из реестра.
Параметры
- string
$name - Имя логгера.
Переопределяет
Cake\Core\ObjectRegistry::unload() Методы, унаследованные от Cake\Core\ObjectRegistry
__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 - Имя объекта для проверки.
Возвращает
booleanTrue, если объект загружен, иначе 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
$configoptional [] - Дополнительные настройки для загрузки объекта.
Возвращает
mixedloaded()source public
loaded( )
Получение списка загруженных объектов.
Возвращает
arrayСписок имён объектов.
normalizeArray()source public
normalizeArray( array $objects )
Нормализует массив объектов, создаёт массив, который облегчает ленивую загрузку
Параметры
- array
$objects - Массив дочерних объектов для нормализации.
Возвращает
arrayМассив нормализованных объектов.
reset()source public
reset( )
Очистить загруженные экземпляры в реестре.
Если подкласс реестра имеет менеджер событий, объекты также будут отсоединены от событий.
Возвращает
$this
set()source public
set( string $objectName , object $object )
Непосредственно установить объект в реестр по имени.
Если этот набор реализует события, переданный объект будет подключен к менеджеру событий
Параметры
- строка
$objectName - Имя объекта, который нужно установить в реестр.
- объект
$object - экземпляр для хранения в реестре
Возвращает
$this
© 2005–2018 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.5/class-Cake.Log.LogEngineRegistry.html