Класс HelperRegistry
HelperRegistry используется в качестве реестра загруженных хелперов и обрабатывает загрузку и создание объектов класса хелпера.
- Cake\Core\ObjectRegistry implements Countable, IteratorAggregate
-
Cake\View\HelperRegistry implements Cake\Event\EventDispatcherInterface uses Cake\Event\EventDispatcherTrait
Краткое описание свойств
- Объект View, используемый при создании хелперов.
$_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 - Объект 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
__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 вместо него.
Параметры
- строка
$objectName - Имя/класс объекта для загрузки.
- массив
$configнеобязательно [] - Дополнительные настройки для загрузки объекта.
Возвращает
смешанный типВыбрасывает
ИсключениеЕсли класс не найден.
loaded()source public
loaded( )
Получить список загруженных объектов.
Возвращает
массивСписок имён объектов.
normalizeArray()source public
normalizeArray( array $objects )
Нормализует массив объектов, создаёт массив, который упрощает ленивую загрузку.
Параметры
- массив
$objects - Массив дочерних объектов для нормализации.
Возвращает
массивМассив нормализованных объектов.
reset()source public
reset( )
Очистить загруженные экземпляры в реестре.
Если подкласс реестра имеет менеджер событий, объекты также будут отсоединены от событий.
Возвращает
$this
set()source public
set( string $objectName , object $object )
Непосредственно установить объект в реестр по имени.
Если эта коллекция реализует события, переданный объект будет добавлен в менеджер событий.
Параметры
- строка
$objectName - Имя объекта для установки в реестр.
- объект
$object - экземпляр для хранения в реестре
Возвращает
$this
unload()source public
unload( string $objectName )
Удалить объект из реестра.
Если этот реестр имеет менеджер событий, объект также будет отсоединён от любых событий.
Параметры
- строка
$objectName - Имя объекта для удаления из реестра.
Возвращает
$this
Методы, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data = null , object|null $subject = null )
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataнеобязательно null Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- объект|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 - устанавливаемый eventManager
Возвращает
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 - устанавливаемый eventManager
Возвращает
$this
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробности свойств
© 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.6/class-Cake.View.HelperRegistry.html