Spec-Zone.ru › CakePHP 3.8

Класс LogEngineRegistry

Реестр загруженных лог-движков

Cake\Core\ObjectRegistry реализует Countable, IteratorAggregate
Расширенный Cake\Log\LogEngineRegistry
Пространство имён: Cake\Log
Расположение: Log/LogEngineRegistry.php

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

  • _loaded

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

  • _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
Плагин, в котором логгер отсутствует.

Выбрасывает

RuntimeException

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.Log.LogEngineRegistry.html

Spec-Zone.ru

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