Класс HelperRegistry
HelperRegistry используется в качестве реестра загруженных помощников и обрабатывает загрузку и создание объектов класса помощника.
- Cake\Core\ObjectRegistry implements Countable, IteratorAggregate
-
Cake\View\HelperRegistry implements Cake\Event\EventDispatcherInterface использует Cake\Event\EventDispatcherTrait
Краткое описание свойств
- Объект представления для использования при создании помощников.
$_Viewprotected
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- __get() publicОбеспечивает общедоступный чтение доступа к загруженным объектам
- __isset() public
Попытка ленивой загрузки помощника по его имени, если его не удаётся найти в папке приложения, затем поиск в текущем плагине, если таковой имеется
- _create() protectedСоздать экземпляр помощника.
- _resolveClassName() protectedРазрешение имени класса помощника.
- _throwMissingClassError() protectedВыбрасывает исключение, когда помощник отсутствует.
Подробное описание методов
__construct()source public
__construct( Cake\View\View $view )
Конструктор
Параметры
-
Cake\View\View$view - Объект представления.
__get()source public
__get( string $name )
Обеспечивает общедоступный чтение доступа к загруженным объектам
Параметры
- string
$name - Имя свойства для чтения
Возвращает
mixedПереопределяет
Cake\Core\ObjectRegistry::__get() __isset()source public
__isset( string $helper )
Попытка ленивой загрузки помощника по его имени, если его не удаётся найти в папке приложения, затем поиск в текущем плагине, если таковой имеется
Параметры
- string
$helper - Имя помощника для загрузки
Возвращает
booleanбыл ли помощник загружен или нет
Исключения
Cake\View\Exception\MissingHelperExceptionКогда помощник не был найден. Поиск помощников в приложениях, затем в плагинах.
Переопределяет
Cake\Core\ObjectRegistry::__isset() _create()source protected
_create( string $class , string $alias , array $settings )
Создать экземпляр помощника.
Часть шаблона метода для Cake\Core\ObjectRegistry::load() Включенные помощники будут зарегистрированы в диспетчере событий.
Параметры
- string
$class - Класс для создания.
- string
$alias - Псевдоним загруженного помощника.
- array
$settings - Массив настроек для использования помощником.
Возвращает
Cake\View\HelperСозданный класс помощника.
_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() и Cake\Core\ObjectRegistry::unload()
Параметры
- string
$class - Отсутствующее имя класса.
- string
$plugin - Плагин, в котором помощник отсутствует.
Исключения
Cake\View\Exception\MissingHelperExceptionМетоды, унаследованные от Cake\Core\ObjectRegistry
__debugInfo()source public
__debugInfo( )
Свойства объекта в удобном для отладки формате.
Возвращает
array__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
$configнеобязательно [] - Дополнительные настройки для загрузки объекта.
Возвращает
mixedВыбрасывает
ExceptionЕсли класс не найден.
loaded()source public
loaded( )
Получить список загруженных объектов.
Возвращает
string[]Список имён объектов.
normalizeArray()source public
normalizeArray( array $objects )
Нормализует массив объектов, создаёт массив, который упрощает ленивую загрузку.
Параметры
- array
$objects - Массив дочерних объектов для нормализации.
Возвращает
arrayМассив нормализованных объектов.
reset()source public
reset( )
Очистить загруженные экземпляры в реестре.
Если подкласс реестра имеет менеджер событий, объекты также будут отвязаны от событий.
Возвращает
$this
set()source public
set( string $objectName , object $object )
Непосредственно устанавливает объект в реестр по имени.
Если эта коллекция реализует события, переданный объект будет прикреплён к менеджеру событий.
Параметры
- string
$objectName - Имя объекта для установки в реестр.
- object
$object - экземпляр для хранения в реестре
Возвращает
$this
unload()source public
unload( string $objectName )
Удалить объект из реестра.
Если этот реестр имеет менеджер событий, объект также будет отвязан от любых событий.
Параметры
- string
$objectName - Имя объекта для удаления из реестра.
Возвращает
$this
Методы, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data = null , object|null $subject = null )
Обёртка для создания и отправки событий.
Возвращает событие, которое было отправлено.
Параметры
- string
$name - Имя события.
- array|null
$dataнеобязательно null Любое значение, которое вы хотите передать вместе с этим событием, чтобы оно могло быть прочитано слушателями.
- object|null
$subjectнеобязательно null Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventeventManager()source public deprecated
eventManager( Cake\Event\EventManager $eventManager = null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов к событиям объекта, или создавать собственные события и запускать их по своему усмотрению.
Устарело
3.5.0 Используйте getEventManager()/setEventManager() вместо этого.Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - менеджер событий для установки
Возвращает
Cake\Event\EventManagergetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов к событиям объекта, или создавать собственные события и запускать их по своему усмотрению.
Возвращает
Cake\Event\EventManagersetEventManager()source public
setEventManager( Cake\Event\EventManager $eventManager )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов к событиям объекта, или создавать собственные события и запускать их по своему усмотрению.
Параметры
-
Cake\Event\EventManager$eventManager - менеджер событий для установки
Возвращает
$this
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробности свойств
$_Viewsource
protected Cake\View\View
Объект представления, который необходимо использовать при создании помощников.
© 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.View.HelperRegistry.html