Класс LogEngineRegistry
Реестр загруженных лог-движков
- Cake\Core\ObjectRegistry реализует 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 [] - Дополнительные настройки для загрузки объекта.
Возвращает
mixedВыбрасывает
ExceptionЕсли класс не найден.
loaded()source public
loaded( )
Получить список загруженных объектов.
Возвращает
string[]Список имён объектов.
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.Log.LogEngineRegistry.html