Класс HelperRegistry
Регистр для Helpers. Предоставляет возможности для ленивой загрузки Helpers.
- Cake\Core\ObjectRegistry implements Countable, IteratorAggregate
-
Cake\Console\HelperRegistry
Краткое описание свойств
- Shell для использования для установки параметров для задач.
$_ioprotected
Унаследованные свойства
Краткое описание методов
- _create() protectedСоздать экземпляр Helper.
- _resolveClassName() protectedРазрешить имя класса Helper.
- _throwMissingClassError() protectedВыбрасывает исключение, когда Helper отсутствует.
- setIo() publicУстанавливает экземпляр IO, который должен быть передан помощникам оболочки.
Подробное описание методов
_create()source protected
_create( string $class , string $alias , array $settings )
Создать экземпляр Helper.
Часть шаблона метода для Cake\Core\ObjectRegistry::load()
Параметры
- string
$class - Имя класса для создания.
- string
$alias - Псевдоним Helper.
- array
$settings - Массив настроек для использования с Helper.
Возвращает
Cake\Console\HelperСозданный класс Helper.
_resolveClassName()source protected
_resolveClassName( string $class )
Разрешить имя класса Helper.
Будет отдавать предпочтение Helper, определённым в Command\Helper, по сравнению с теми, которые определены в Shell\Helper.
Часть шаблона метода для Cake\Core\ObjectRegistry::load()
Параметры
- string
$class - Частичное имя класса для разрешения.
Возвращает
string|falseЛибо правильное имя класса, либо false.
_throwMissingClassError()source protected
_throwMissingClassError( string $class , string $plugin )
Выбрасывает исключение, когда Helper отсутствует.
Часть шаблона метода для Cake\Core\ObjectRegistry::load() и Cake\Core\ObjectRegistry::unload()
Параметры
- string
$class - Имя класса, которого нет.
- string
$plugin - Плагин, в котором отсутствует Helper.
Исключения
Cake\Console\Exception\MissingHelperExceptionsetIo()source public
setIo( Cake\Console\ConsoleIo $io )
Устанавливает экземпляр IO, который должен быть передан помощникам оболочки
Параметры
-
Cake\Console\ConsoleIo$io - Экземпляр io.
Методы, унаследованные от Cake\Core\ObjectRegistry
__get()source public
__get( string $name )
Обеспечить общедоступный доступ для чтения к загруженным объектам
Параметры
- string
$name - Имя свойства для чтения
Возвращает
mixed__isset()source public
__isset( string $name )
Обеспечить доступ isset к _loaded
Параметры
- string
$name - Имя проверяемого объекта.
Возвращает
boolean__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
$configoptional [] - Дополнительные настройки для использования при загрузке объекта.
Возвращает
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
Подробное описание свойств
© 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.Console.HelperRegistry.html