Класс TaskRegistry
Регистр задач. Предоставляет возможности для ленивой загрузки задач.
- Cake\Core\ObjectRegistry реализует 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()
Параметры
- строка
$class - Имя класса для создания.
- строка
$alias - Псевдоним задачи.
- массив
$settings - Массив настроек для использования задачей.
Возвращает
Cake\Console\ShellСозданный класс задачи.
_resolveClassName()source protected
_resolveClassName( string $class )
Разрешение имени класса задачи.
Часть шаблонного метода для Cake\Core\ObjectRegistry::load()
Параметры
- строка
$class - Частичное имя класса для разрешения.
Возвращает
string|falseЛибо правильное имя класса, либо false.
_throwMissingClassError()source protected
_throwMissingClassError( string $class , string $plugin )
Выбрасывает исключение, когда задача отсутствует.
Часть шаблонного метода для Cake\Core\ObjectRegistry::load() и Cake\Core\ObjectRegistry::unload()
Параметры
- строка
$class - Отсутствующий класс.
- строка
$plugin - Плагин, в котором отсутствует задача.
Исключения
Cake\Console\Exception\MissingTaskExceptionМетоды унаследованные от Cake\Core\ObjectRegistry
__get()source public
__get( string $name )
Обеспечивает публичный доступ для чтения к загруженным объектам
Параметры
- строка
$name - Имя свойства для чтения
Возвращает
смешанное__isset()source public
__isset( string $name )
Обеспечивает доступ isset к _loaded
Параметры
- строка
$name - Имя проверяемого объекта.
Возвращает
булево__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 - Имя объекта для проверки.
Возвращает
булевоTrue, если объект загружен, иначе 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 вместо.
Параметры
- строка
$objectName - Имя/класс объекта для загрузки.
- массив
$configнеобязательно [] - Дополнительные настройки для использования при загрузке объекта.
Возвращает
смешанноеИсключения
ИсключениеЕсли класс не найден.
loaded()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
Подробности свойств
$_Shellsource
protected Cake\Console\Shell
Оболочка для использования для установки параметров задач.
© 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.TaskRegistry.html