Класс TaskRegistry
Регистр задач. Предоставляет возможности для ленивой загрузки задач.
- Cake\Core\ObjectRegistry implements Countable, IteratorAggregate
-
Cake\Console\TaskRegistry
Краткое описание свойств
- Консоль для установки параметров для задач.
$_Shellprotected
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- _create() protectedСоздать экземпляр задачи.
- _resolveClassName() protectedРазрешить имя класса задачи.
- _throwMissingClassError() protectedВыбрасывает исключение, когда задача отсутствует.
Подробное описание методов
__construct()source public
__construct( Cake\Console\Shell $Shell )
Конструктор
Параметры
-
Cake\Console\Shell$Shell - Экземпляр консоли
_create()source protected
_create( string $class , string $alias , array $settings )
Создать экземпляр задачи.
Часть шаблонового метода для Cake\Core\ObjectRegistry::load()
Параметры
- string
$class - Имя класса для создания.
- string
$alias - Псевдоним задачи.
- array
$settings - Массив настроек для использования задачей.
Возвращаемое значение
Cake\Console\ShellСозданный класс задачи.
_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\Console\Exception\MissingTaskExceptionМетоды, унаследованные от 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 [] - Дополнительные настройки для загрузки объекта.
Возвращаемое значение
mixedloaded()source public
loaded( )
Получить список загруженных объектов.
Возвращаемое значение
arrayСписок имён объектов.
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
Подробное описание свойств
$_Shellsource
protected Cake\Console\Shell
Оболочка для использования для установки параметров задач.
© 2005–2018 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.5/class-Cake.Console.TaskRegistry.html