Класс HelperRegistry
HelperRegistry используется в качестве реестра загруженных хелперов и обрабатывает загрузку и создание объектов класса хелпера.
- Cake\Core\ObjectRegistry
-
Cake\View\HelperRegistry реализует Cake\Event\EventDispatcherInterface использует Cake\Event\EventDispatcherTrait
Подробное описание методов
__constructsource public
__construct( Cake\View\View $view )
Конструктор
Параметры
-
Cake\View\View$view - Объект представления.
__getsource public
__get( string $name )
Предоставление публичного чтения загруженных объектов
Параметры
- строка
$name - Имя свойства для чтения
Возвращает
mixedсмешанный тип
Переопределяет
Cake\Core\ObjectRegistry::__get() __issetsource public
__isset( string $helper )
Попытка ленивой загрузки хелпера по его имени, если его не удаётся найти в папке приложения, то ищет в текущем плагине, если таковой имеется
Параметры
- строка
$helper - Имя хелпера для загрузки
Возвращает
booleanзагружен ли хелпер или нет
Выбрасывает
Cake\View\Exception\MissingHelperExceptionКогда хелпер не найден. Хелперы приложения ищут, а затем хелперы плагина.
Переопределяет
Cake\Core\ObjectRegistry::__isset() _createsource protected
_create( string $class , string $alias , array $settings )
Создаёт экземпляр хелпера.
Часть шаблона метода Cake\Core\ObjectRegistry::load() Включенные хелперы будут зарегистрированы в диспетчере событий.
Параметры
- строка
$class - Класс для создания.
- строка
$alias - Псевдоним загруженного хелпера.
- массив
$settings - Массив настроек для использования в хелпере.
Возвращает
Cake\Controller\ComponentСозданный класс хелпера.
_resolveClassNamesource protected
_resolveClassName( string $class )
Разрешение имени класса хелпера.
Часть шаблона метода Cake\Core\ObjectRegistry::load()
Параметры
- строка
$class - Частичное имя класса для разрешения.
Возвращает
string|falseЛибо правильное имя класса, либо false.
_throwMissingClassErrorsource protected
_throwMissingClassError( string $class , string $plugin )
Выбрасывает исключение, когда хелпер отсутствует.
Часть шаблона метода Cake\Core\ObjectRegistry::load()
Параметры
- строка
$class - Отсутствующее имя класса.
- строка
$plugin - Плагин, в котором отсутствует хелпер.
Выбрасывает
Cake\View\Exception\MissingHelperException\Cake\View\Exception\MissingHelperException
Методы, унаследованные от Cake\Core\ObjectRegistry
_checkDuplicatesource protected
_checkDuplicate( string $name , array $config )
Проверка на дублирование загрузки объекта.
Если загружается дубликат с другими настройками, это плохо, и будет выброшено исключение.
Выбрасывается исключение, так как замена объекта не обновит ссылки, которые могут иметь другие объекты. Кроме того, простое обновление конфигурации во время выполнения не является хорошим вариантом, так как могут отсутствовать важные логические операции конструктора, зависящие от конфигурации.
Параметры
- строка
$name - Имя псевдонима в реестре.
- массив
$config - Данные конфигурации для нового экземпляра.
Выбрасывает
RuntimeExceptionПри обнаружении дубликата.
getsource public
get( string $name )
Получить загруженный экземпляр объекта.
Параметры
- строка
$name - Имя объекта.
Возвращает
object|nullЭкземпляр объекта, если загружен, иначе null.
hassource public
has( string $name )
Проверка наличия загруженного объекта.
Параметры
- строка
$name - Имя объекта для проверки.
Возвращает
booleanTrue, если объект загружен, иначе false.
loadsource 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 - Имя/класс объекта для загрузки.
- массив
$configoptional [] - Дополнительные настройки для загрузки объекта.
Возвращает
mixedсмешанный тип
normalizeArraysource public
normalizeArray( array $objects )
Нормализует массив объектов, создаёт массив, который облегчает ленивую загрузку
Параметры
- массив
$objects - Массив дочерних объектов для нормализации.
Возвращает
arrayМассив нормализованных объектов.
resetsource public
reset( )
Очистка загруженных экземпляров в реестре.
Если подкласс реестра имеет диспетчер событий, объекты также будут отсоединены от событий.
setsource public
set( string $objectName , object $object )
Непосредственное добавление объекта в реестр по имени.
Если этот набор реализует события, переданный объект будет добавлен в диспетчер событий
Параметры
- строка
$objectName - Имя объекта для добавления в реестр.
- объект
$object - Экземпляр для хранения в реестре
unloadsource public
unload( string $objectName )
Удаление объекта из реестра.
Если у этого реестра есть диспетчер событий, объект также будет отсоединён от любых событий.
Параметры
- строка
$objectName - Имя объекта для удаления из реестра.
Методы, используемые из Cake\Event\EventDispatcherTrait
dispatchEventsource public
dispatchEvent( string $name , array|null $data null , object|null $subject null )
Оборачивание для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataнеобязательно null - Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- объект|null
$subjectнеобязательно null - Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\Event\Cake\Event\Event
Реализация
Cake\Event\EventDispatcherInterface::dispatchEvent() eventManagersource public
eventManager( Cake\Event\EventManager $eventManager null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов на события объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - устанавливаемый менеджер событий
Возвращает
Cake\Event\EventManager\Cake\Event\EventManager
Реализация
Cake\Event\EventDispatcherInterface::eventManager() Краткое описание свойств
Свойства, унаследованные от Cake\Core\ObjectRegistry
Свойства, используемые из Cake\Event\EventDispatcherTrait
$_eventClasssource
protected строка
Имя класса по умолчанию для новых объектов событий.
'\Cake\Event\Event' $_eventManagersource
protected Cake\Event\EventManager
Экземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.
null
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.View.HelperRegistry.html