Класс 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.7/class-Cake.Log.LogEngineRegistry.html