Класс 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\View\HelperСозданный класс помощника.
_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 - Имя свойства для установки.
- смешанный
$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необязательно [] - Дополнительные параметры для использования при загрузке объекта.
Возвращает
mixedВыбрасывает
ExceptionЕсли класс не найден.
loaded()source public
loaded( )
Получить список загруженных объектов.
Возвращает
string[]Список имён объектов.
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 - диспетчер событий для установки
Возвращает
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.7/class-Cake.View.HelperRegistry.html