Класс HelperRegistry
HelperRegistry используется в качестве реестра загруженных хелперов и обрабатывает загрузку и создание объектов классов хелперов.
Краткое описание свойств
- $_View protected
Cake\View\ViewОбъект представления, используемый при создании хелперов.
- $_eventClass protected
stringИзначальное имя класса для новых объектов событий.
- $_eventManager protected
Cake\Event\EventManagerInterface|nullЭкземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.
- $_loaded protected
object[]Карта загруженных объектов.
Краткое описание методов
-
__construct() public
Конструктор
-
__debugInfo() public
Свойства объекта в удобном для отладки формате.
-
__get() public
Предоставление публичного чтения загруженных объектов.
-
__isset() public
Попытка ленивой загрузки хелпера по его имени. Если хелпер не найден в папке приложения, то ищется в текущем плагине (если таковой имеется).
-
__set() public
Устанавливает объект.
-
__unset() public
Удаляет объект.
-
_checkDuplicate() protected
Проверка на дублирование объектов.
-
_create() protected
Создание экземпляра хелпера.
-
_resolveClassName() protected
Разрешение имени класса хелпера.
-
_throwMissingClassError() protected
Выбрасывает исключение при отсутствии хелпера.
-
count() public
Возвращает количество загруженных объектов.
-
dispatchEvent() public
Обёртка для создания и отправки событий.
-
get() public
Получение экземпляра загруженного объекта.
-
getEventManager() public
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
-
getIterator() public
Возвращает итератор массива.
-
has() public
Проверка наличия загруженного объекта.
-
load() public
Загрузка/создание экземпляра объекта.
-
loaded() public
Получение списка загруженных объектов.
-
normalizeArray() public
Нормализует массив объектов, создавая массив, который упрощает ленивую загрузку.
-
reset() public
Очистка загруженных экземпляров в реестре.
-
set() public
Установка объекта непосредственно в реестр по имени.
-
setEventManager() public
Возвращает экземпляр Cake\Event\EventManagerInterface для этого объекта.
-
unload() public
Удаление объекта из реестра.
Подробное описание методов
__construct() public
__construct(Cake\View\View $view)
Конструктор
Параметры
-
Cake\View\View$view Объект представления.
__debugInfo() public
__debugInfo(): array
Свойства объекта, удобные для отладки.
Возвращает
array__get() public
__get(string $name): Cake\View\Helper|null
Предоставляет общедоступный чтение загруженных объектов
Параметры
-
string$name Имя свойства для чтения
Возвращает
Cake\View\Helper|null__isset() public
__isset(string $helper): bool
Попытка ленивой загрузки помощника по его имени, если его нет в папке приложения, то поиск в текущем плагине, если таковой имеется.
Параметры
-
string$helper Имя помощника для загрузки
Возвращает
boolИсключения
Cake\View\Exception\MissingHelperExceptionПри неудачном поиске помощника. Помощники приложения ищутс, затем плагина.
__set() public
__set(string $name, object $object): void
Устанавливает объект.
Параметры
-
string$name Имя свойства для установки.
-
object$object Объект для установки.
Возвращает
void__unset() public
__unset(string $name): void
Удаляет объект.
Параметры
-
string$name Имя свойства для удаления.
Возвращает
void_checkDuplicate() protected
_checkDuplicate(string $name, array $config): void
Проверка на дублирование загрузки объекта.
Если загружается дубликат с другим конфигурацией, это плохо и будет возбуждено исключение.
Возбуждается исключение, так как замена объекта не обновит любые ссылки, которые могут иметь другие объекты. Кроме того, простое обновление конфигурации во время выполнения не является хорошим вариантом, поскольку мы можем пропустить важную логику конструктора, зависящую от конфигурации.
Параметры
-
string$name Имя псевдонима в реестре.
-
array$config Данные конфигурации для нового экземпляра.
Возвращает
voidИсключения
RuntimeExceptionПри обнаружении дубликата.
_create() protected
_create(string|object $class, string $alias, array $config): Cake\View\Helper
Создание экземпляра помощника.
Часть шаблона метода Cake\Core\ObjectRegistry::load() Включенные помощники будут зарегистрированы в диспетчере событий.
Параметры
-
string|object$class Класс для создания.
-
string$alias Псевдоним загруженного помощника.
-
array$config Массив настроек для использования помощника.
Возвращает
Cake\View\Helper_resolveClassName() protected
_resolveClassName(string $class): string|null
Разрешение имени класса помощника.
Часть шаблона метода Cake\Core\ObjectRegistry::load()
Параметры
-
string$class Частичное имя класса для разрешения.
Возвращает
string|null_throwMissingClassError() protected
_throwMissingClassError(string $class, string|null $plugin): void
Выбрасывает исключение, если помощник отсутствует.
Часть шаблона метода Cake\Core\ObjectRegistry::load() и Cake\Core\ObjectRegistry::unload()
Параметры
-
string$class Имя класса, которого нет.
-
string|null$plugin Плагин, в котором отсутствует помощник.
Возвращает
voidИсключения
Cake\View\Exception\MissingHelperExceptioncount() public
count(): int
Возвращает количество загруженных объектов.
Возвращает
intdispatchEvent() public
dispatchEvent(string $name, array|null $data = null, object|null $subject = null): Cake\Event\EventInterface
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
-
string$name Имя события.
-
array|null$data optional Любое значение, которое вы хотите передать с этим событием, его могут прочитать слушатели.
-
object|null$subject optional Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventInterfaceget() public
get(string $name): object
Получить загруженный экземпляр объекта.
Параметры
-
string$name Имя объекта.
Возвращает
objectИсключения
RuntimeExceptionЕсли не загружен или не найден.
getEventManager() public
getEventManager(): Cake\Event\EventManagerInterface
Возвращает экземпляр диспетчера событий Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Возвращает
Cake\Event\EventManagerInterfacegetIterator() public
getIterator(): Traversable
Возвращает итератор массива.
Возвращает
Traversablehas() public
has(string $name): bool
Проверяет, загружен ли данный объект.
Параметры
-
string$name Имя проверяемого объекта.
Возвращает
boolload() public
load(string $name, array $config = []): mixed
Загружает/создаёт экземпляр объекта.
Вернёт экземпляр из реестра, если он уже существует. Если подкласс предоставляет поддержку событий, вы можете использовать $config['enabled'] = false для исключения созданных объектов из регистрации для событий.
Пример использования Cake\Controller\Controller::$components. Вы можете назначить псевдоним объекту, установив ключ 'className', например:
protected $components = [
'Email' => [
'className' => 'App\Controller\Component\AliasedEmailComponent'
];
]; Все вызовы компонента Email будут использовать AliasedEmail вместо этого.
Параметры
-
string$name Имя/класс объекта для загрузки.
-
array$config optional Дополнительные настройки для использования при загрузке объекта.
Возвращает
mixedИсключения
ExceptionЕсли класс не найден.
loaded() public
loaded(): string[]
Получить список загруженных объектов.
Возвращает
string[]normalizeArray() public
normalizeArray(array $objects): array[]
Нормализует массив объектов, создаёт массив, который упрощает ленивую загрузку.
Параметры
-
array$objects Массив дочерних объектов для нормализации.
Возвращает
array[]reset() public
reset(): $this
Очистить загруженные экземпляры в реестре.
Если подкласс реестра имеет диспетчер событий, объекты также будут отсоединены от событий.
Возвращает
$thisset() public
set(string $name, object $object): $this
Установить объект напрямую в реестр по имени.
Если этот набор реализует события, переданный объект будет присоединён к диспетчеру событий
Параметры
-
string$name Имя объекта для установки в реестр.
-
object$object экземпляр для хранения в реестре
Возвращаемое значение
$thissetEventManager() public
setEventManager(Cake\Event\EventManagerInterface $eventManager): $this
Возвращает экземпляр Cake\Event\EventManagerInterface для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов событий объекта, или создавать свои собственные события и запускать их по своему усмотрению.
Параметры
-
Cake\Event\EventManagerInterface$eventManager диспетчер событий для установки
Возвращаемое значение
$thisunload() public
unload(string $name): $this
Удалить объект из реестра.
Если в этом реестре есть диспетчер событий, объект также будет отсоединён от любых событий.
Параметры
-
string$name Имя объекта для удаления из реестра.
Возвращаемое значение
$thisПодробности свойств
$_View protected
Объект представления, используемый при создании помощников.
Тип
Cake\View\View$_eventClass protected
Имя класса по умолчанию для новых объектов событий.
Тип
string$_eventManager protected
Экземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.
Тип
Cake\Event\EventManagerInterface|null$_loaded protected
Карта загруженных объектов.
Тип
object[]
© 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/4.2/class-Cake.View.HelperRegistry.html