Spec-Zone.ru › CakePHP 3.7

Класс LogEngineRegistry

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

Cake\Core\ObjectRegistry реализует Countable, IteratorAggregate
Extended by 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.7/class-Cake.Log.LogEngineRegistry.html

Spec-Zone.ru

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