Класс 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 )
Предоставление публичного чтения загруженных объектов
Параметры
- строка
$name - Имя свойства для чтения
Возвращает
mixedПереопределяет
Cake\Core\ObjectRegistry::__get() __isset()source public
__isset( string $helper )
Попытка ленивой загрузки хелпера по его имени; если его нет в папке приложения, то поиск ведётся в текущем плагине, если таковой имеется
Параметры
- строка
$helper - Имя хелпера для загрузки
Возвращает
booleanбыл ли загружен хелпер или нет
Выбрасывает
Cake\View\Exception\MissingHelperExceptionКогда хелпер не найден. Поиск хелперов ведётся в приложениях, а затем в плагинах.
Переопределяет
Cake\Core\ObjectRegistry::__isset() _create()source protected
_create( string $class , string $alias , array $settings )
Создание экземпляра хелпера.
Часть шаблона метода для Cake\Core\ObjectRegistry::load() Разрешенные хелперы будут зарегистрированы в диспетчере событий.
Параметры
- строка
$class - Класс для создания.
- строка
$alias - Псевдоним загруженного хелпера.
- массив
$settings - Массив настроек для хелпера.
Возвращает
Cake\Controller\ComponentСозданный класс хелпера.
_resolveClassName()source protected
_resolveClassName( string $class )
Разрешение имени класса хелпера.
Часть шаблона метода для Cake\Core\ObjectRegistry::load()
Параметры
- строка
$class - Частичное имя класса для разрешения.
Возвращает
строка|ложьПравильное имя класса или ложь.
_throwMissingClassError()source protected
_throwMissingClassError( string $class , string $plugin )
Выбрасывает исключение, если хелпер отсутствует.
Часть шаблона метода для Cake\Core\ObjectRegistry::load() и Cake\Core\ObjectRegistry::unload()
Параметры
- строка
$class - Отсутствующий класс.
- строка
$plugin - Плагин, в котором отсутствует хелпер.
Выбрасывает
Cake\View\Exception\MissingHelperExceptionМетоды, унаследованные от Cake\Core\ObjectRegistry
__set()source public
__set( string $name , mixed $object )
Устанавливает объект.
Параметры
- строка
$name - Имя свойства для установки.
- mixed
$object - Устанавливаемый объект.
__unset()source public
__unset( string $name )
Удаляет объект.
Параметры
- строка
$name - Имя свойства для удаления.
_checkDuplicate()source protected
_checkDuplicate( string $name , array $config )
Проверка на дублирование объектов при загрузке.
Если загружается дубликат, но с разными настройками, это ошибка, и будет выброшено исключение.
Выбрасывается исключение, так как замена объекта не обновит ссылки, которые могут быть у других объектов. Кроме того, простое обновление настроек выполнения не является хорошим вариантом, так как мы можем пропустить важные логику конструктора, зависящую от настроек.
Параметры
- строка
$name - Имя псевдонима в реестре.
- массив
$config - Данные конфигурации для нового экземпляра.
Выбрасывает
RuntimeExceptionПри обнаружении дубликата.
count()source public
count( )
Возвращает количество загруженных объектов.
Возвращает
целое числоРеализация
Countable::count() get()source public
get( string $name )
Получение загруженного экземпляра объекта.
Параметры
- строка
$name - Имя объекта.
Возвращает
объект|nullЭкземпляр объекта, если он загружен, иначе null.
getIterator()source public
getIterator( )
Возвращает итератор массива.
Возвращает
ArrayIteratorРеализация
IteratorAggregate::getIterator() has()source public
has( string $name )
Проверка, загружен ли данный объект.
Параметры
- строка
$name - Имя проверяемого объекта.
Возвращает
booleanИстина, если объект загружен, иначе ложь.
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необязательно [] - Дополнительные параметры для загрузки объекта.
Возвращает
mixedloaded()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
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() |
Подробное описание свойств
© 2005–2017 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.4/class-Cake.View.HelperRegistry.html