Класс HelperRegistry
HelperRegistry используется в качестве реестра загруженных хелперов и обрабатывает загрузку и создание объектов класса хелпера.
Краткое описание свойств
- $_View protected
Cake\View\ViewОбъект View, используемый при создании хелперов.
- $_eventClass protected
stringИмя по умолчанию класса для новых событий.
- $_eventManager protected
Cake\Event\EventManagerInterface|nullЭкземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.
- $_loaded protected
array<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<string, mixed>
Свойства объекта для отладки.
Возвращает
array<string, mixed>__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<string, mixed> $config): void
Проверка на дублирование загрузки объекта.
Если загружается дубликат с разной конфигурацией, это плохо, и будет возбуждено исключение.
Исключение возбуждается, так как замена объекта не обновит ссылки, которые могут быть у других объектов. Кроме того, простое обновление конфигурации во время выполнения не является хорошим вариантом, так как мы можем пропустить важную логику конструктора, зависящую от конфигурации.
Параметры
-
string$name Имя псевдонима в реестре.
-
array<string, mixed>$config Данные конфигурации для нового экземпляра.
Возвращает
voidИсключения
RuntimeExceptionПри обнаружении дубликата.
_create() protected
_create(object|string $class, string $alias, array<string, mixed> $config): Cake\View\Helper
Создание экземпляра помощника.
Часть шаблонного метода для Cake\Core\ObjectRegistry::load() Включенные помощники будут зарегистрированы в менеджере событий.
Параметры
-
object|string$class Класс для создания.
-
string$alias Псевдоним загруженного помощника.
-
array<string, mixed>$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<string, mixed> $config = []): mixed
Загрузка/создание экземпляра объекта.
Вернет экземпляр в реестре, если он уже существует. Если подкласс поддерживает события, вы можете использовать $config['enabled'] = false для исключения созданных объектов из регистрации для событий.
Например, используя {@link \Cake\Controller\Component::$components}. Вы можете назначить псевдоним объекту, установив ключ 'className', например:
protected $components = [
'Email' => [
'className' => 'App\Controller\Component\AliasedEmailComponent'
];
]; Все вызовы компонента Email будут использовать AliasedEmail вместо этого.
Параметры
-
string$name Имя/класс объекта для загрузки.
-
array<string, mixed>$config optional Дополнительные настройки для загрузки объекта.
Возвращает
mixedИсключения
ExceptionЕсли класс не найден.
loaded() public
loaded(): array<string>
Получение списка загруженных объектов.
Возвращает
array<string>normalizeArray() public
normalizeArray(array $objects): array<string, array>
Нормализует массив объектов, создает массив, упрощающий ленивую загрузку
Параметры
-
array$objects Массив дочерних объектов для нормализации.
Возвращает
array<string, 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
Карта загруженных объектов.
Тип
array<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.3/class-Cake.View.HelperRegistry.html