Класс CommandTask
Базовый класс для рефлексии команд оболочки.
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
-
Cake\Shell\Task\CommandTask
Унаследованные константы
Унаследованные свойства
-
OptionParser,Tasks,_io,_taskMap,args,command,interactive,name,params,plugin,rootName,taskNames,tasks_tableLocator_modelFactories,_modelType,modelClass
Краткое описание методов
- _appendShells() protectedСканирует предоставленные пути для оболочек и добавляет их в $shellList
- _scanDir() protected
Сканирует директорию на предмет файлов .php и возвращает имена классов, которые должны быть в них.
- commands() publicВозвращает список всех команд
- getShell() publicПолучение экземпляра Shell для данной команды
- getShellList() publicПолучение списка команд оболочки.
- options() publicПолучение списка опций для данной команды или подкоманды
- subCommands() publicВозвращает список подкоманд для данной команды
Подробное описание методов
_appendShells()source protected
_appendShells( string $type , array $shells , array $shellList )
Сканирует предоставленные пути для оболочек и добавляет их в $shellList
Параметры
- string
$type - Тип объекта.
- array
$shells - Имя оболочки.
- array
$shellList - Список оболочек.
Возвращает
arrayОбновлённый $shellList
_scanDir()source protected
_scanDir( string $dir )
Сканирует директорию на предмет файлов .php и возвращает имена классов, которые должны быть в них.
Параметры
- string
$dir - Директория для чтения.
Возвращает
arrayСписок имён классов оболочки, основанных на соглашениях.
getShell()source public
getShell( string $commandName )
Получение экземпляра Shell для данной команды
Параметры
- string
$commandName - Команда, которую вы хотите.
Возвращает
Cake\Console\Shell|booleanЭкземпляр Shell, если команда найдена, в противном случае false.
options()source public
options( string $commandName , string $subCommandName '' )
Получение списка опций для данной команды или подкоманды
Параметры
- string
$commandName - Команда для получения опций.
- string
$subCommandNameoptional '' Подкоманда для получения опций. Может быть пустой для получения опций для команды. Если этот параметр используется, подкоманда должна быть допустимой подкомандой переданной команды
Возвращает
arrayСписок опций для данной команды или подкоманды
subCommands()source public
subCommands( string $commandName )
Возвращает список подкоманд для данной команды
Параметры
- string
$commandName - Команда, для которой вы хотите подкоманды.
Возвращает
arrayМетоды, унаследованные от Cake\Console\Shell
__construct()source public
__construct( Cake\Console\ConsoleIo $io null )
Создаёт экземпляр этого объекта Shell.
Параметры
-
Cake\Console\ConsoleIo$iooptional null - Экземпляр io.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell__debugInfo()source public
__debugInfo( )
Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.
Возвращает
array__get()source public
__get( string $name )
Перегрузка get для ленивой сборки задач
Параметры
- string
$name - Задача для получения.
Возвращает
Cake\Console\ShellОбъект задачи
_displayHelp()source protected
_displayHelp( string $command )
Выводит справку в правильном формате
Параметры
- string
$command - Команда для получения справки.
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в стандартный вывод.
_setOutputLevel()source protected
_setOutputLevel( )
Устанавливает уровень вывода на основе параметров.
Это перенастраивает уровень вывода для out() и настроенное логгирование stdout/stderr
_stop()source protected
_stop( integer|string $status self::CODE_SUCCESS )
Останавливает выполнение текущего скрипта. Вызывает StopException, чтобы попытаться остановить выполнение.
Параметры
- integer|string
$statusoptional self::CODE_SUCCESS - см. https://secure.php.net/exit для значений
Исключения
Cake\Console\Exception\StopExceptionabort()source public
abort( string $message , integer $exitCode self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает работу приложения со статусом 1
Параметры
- string
$message - Сообщение об ошибке
- integer
$exitCodeнеобязательно self::CODE_ERROR - Код завершения задачи оболочки.
Исключения
Cake\Console\Exception\StopExceptionСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputclear()source public
clear( )
Очистить консоль
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#console-outputcreateFile()source public
createFile( string $path , string $contents )
Создает файл по заданному пути
Параметры
- string
$path - Куда поместить файл.
- string
$contents - Содержимое файла.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShell()source public
dispatchShell( )
Отправить команду в другую оболочку. Аналогично Object::requestAction(), но предназначено для запуска оболочек из других оболочек.
Использование:
С строковой командой:
return $this->dispatchShell('schema create DbAcl'); Избегайте использования этого формата, если у вас есть строковые аргументы со пробелами в них. Отправленная команда будет вызвана неправильно. Используйте этот формат только для простого запуска команд.
С массивом команд:
return $this->dispatchShell('schema', 'create', 'i18n', '--dry'); С массивом, содержащим две пары ключ/значение: - command может принимать строку или массив. Представляет команду для отправки - extra может принимать массив дополнительных параметров, которые передаются диспетчеру. Эти параметры будут доступны в свойстве param вызываемой Shell
return $this->dispatchShell([ 'command' => 'schema create DbAcl', 'extra' => ['param' => 'value'] ]);
или
return $this->dispatchShell([ 'command' => ['schema', 'create', 'DbAcl'], 'extra' => ['param' => 'value'] ]);
Возвращает
integerКод завершения командной строки. 0 — успех.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#invoking-other-shells-from-your-shellerr()source public
err( string|array|null $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводится только новая строка.
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество добавляемых новых строк
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в stderr.
error()source public
error( string $title , string|null $message null , integer $exitCode self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает работу приложения со статусом 1
Устаревшее
3.2.0 Используйте Shell::abort() вместо этого.Параметры
- string
$title - Заголовок ошибки
- string|null
$messageнеобязательно null - Необязательное сообщение об ошибке
- integer
$exitCodeнеобязательно self::CODE_ERROR - Код завершения задачи оболочки.
Возвращает
integerКод ошибки
Исключения
Cake\Console\Exception\StopExceptionСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputgetIo()source public
getIo( )
Получить объект ввода/вывода для этой оболочки.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
getOptionParser()source public
getOptionParser( )
Получить экземпляр парсера опций и настроить его.
Переопределяя этот метод, вы можете настроить ConsoleOptionParser перед его возвращением.
Возвращает
Cake\Console\ConsoleOptionParserСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#configuring-options-and-generating-helphasMethod()source public
hasMethod( string $name )
Проверить, есть ли у этой оболочки вызываемый метод с данным именем.
Параметры
- string
$name - Имя метода для проверки.
Возвращает
booleanСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTask()source public
hasTask( string $task )
Проверить, есть ли у этой оболочки задача с указанным именем.
Параметры
- string
$task - Имя задачи для проверки.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelper()source public
helper( string $name , array $settings [] )
Отобразить помощника консоли
Создать и отобразить вывод для объекта помощника. Если объект помощника еще не загружен, он будет загружен и построен.
Параметры
- string
$name - Имя помощника для отображения
- array
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращает
Cake\Console\HelperСозданный экземпляр помощника.
hr()source public
hr( integer $newlines 0 , integer $width 63 )
Выводит серию символов минус в стандартный вывод, служит визуальным разделителем.
Параметры
- integer
$newlinesнеобязательно 0 - Количество новых строк для пред- и добавления
- integer
$widthнеобязательно 63 - Ширина строки, по умолчанию 63
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::hrin()source public
in( string $prompt , string|array|null $options null , string|null $default null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- string
$prompt - Текст запроса.
- string|array|null
$optionsнеобязательно null - Массив или строка опций.
- string|null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
mixedЛибо значение по умолчанию, либо введённые пользователем данные.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::ininfo()source public
info( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Task\Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегом
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество добавляемых новых строк
- integer
$levelнеобязательно Cake\Shell\Task\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в stdout.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outinitialize()source public
initialize( )
Инициализирует оболочку, выполняет роль конструктора для подклассов, позволяет настроить задачи перед выполнением оболочки
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeio()source public
io( Cake\Console\ConsoleIo $io null )
Получить/установить объект io для этой оболочки.
Устарело
3.5.0 Используйте getIo()/setIo() вместо этого.Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Объект ConsoleIo для использования.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
loadTasks()source public
loadTasks( )
Загружает задачи, определённые в public $tasks
Возвращает
booleannl()source public
nl( integer $multiplier 1 )
Возвращает одну или несколько последовательностей символов новой строки.
Параметры
- целое число
$multiplierнеобязательно 1 - Количество раз, которое последовательность новой строки должна быть повторена
Возвращает
строкаСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nlout()source public
out( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Task\Shell::NORMAL )
Выводит одно или несколько сообщений в стандартный вывод. Если нет параметров, выводится только символ новой строки.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве оболочек. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- целое число
$levelнеобязательно Cake\Shell\Task\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный вывод.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outparam()source public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращает
строка|логическое значение|nullЗначение. Возвратит null, если не существует.
parseDispatchArguments()source public
parseDispatchArguments( array $args )
Разбирает аргументы для метода dispatchShell().
Параметры
- массив
$args Аргументы получены из метода dispatchShell() с помощью func_get_args()
Возвращает
массивПервое значение должно быть массивом аргументов команды. Второе значение должно быть массивом дополнительных параметров для передачи в диспетчер
quiet()source public
quiet( string|array $message , integer $newlines 1 )
Вывод на всех уровнях.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный вывод.
runCommand()source public
runCommand( array $argv , boolean $autoMethod false , array $extra [] )
Выполняет оболочку с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует main() метод, все отсутствующие вызовы методов будут отправлены в main() с исходным именем метода в argv.
Для вызова задач они должны быть представлены как подкоманды. Если вы определяете подкоманды, вы должны определить все подкоманды, в которых нуждается ваша оболочка, независимо от того, являются ли они методами этого класса или методами задач.
Параметры
- массив
$argv - Массив аргументов для запуска оболочки. Этот массив должен быть без имени оболочки.
- логическое значение
$autoMethodнеобязательно false Установите в true, чтобы разрешить вызов любого публичного метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher для упрощения создания простых оболочек.
- массив
$extraнеобязательно [] Дополнительные параметры, которые можно вручную передать оболочке для последующего обработки. Встроенный дополнительный параметр: -
requested: если используется, это предотвратит отображение приветственного сообщения оболочки
Возвращает
целое число|логическое значение|nullСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#the-cakephp-consolesetIo()source public
setIo( Cake\Console\ConsoleIo $io )
Установить объект io для этой оболочки.
Параметры
-
Cake\Console\ConsoleIo$io - Объект ConsoleIo для использования.
setRootName()source public
setRootName( string $name )
Установить имя корневой команды для вывода справки.
Параметры
- строка
$name - Имя корневой команды.
Возвращает
$this
shortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращает
строкасокращённый путь
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPathstartup()source public
startup( )
Запускает оболочку и отображает приветственное сообщение. Позволяет проверять и настраивать параметры перед выполнением команды или основного выполнения
Переопределите этот метод, если хотите удалить приветственное сообщение или изменить порядок выполнения до команды.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::startupsuccess()source public
success( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Task\Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегами
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- целое число
$levelнеобязательно Cake\Shell\Task\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный вывод.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outverbose()source public
verbose( string|array $message , integer $newlines 1 )
Вывод на уровне подробности.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество добавляемых новых строк
Возвращает
целое число|булевоКоличество байтов, возвращенных при записи в стандартный вывод.
warn()source public
warn( string|array|null $message null , integer $newlines 1 )
Удобный метод для err(), который оборачивает сообщение тегом
Параметры
- строка|массив|null
$messageнеобязательный null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество добавляемых новых строк
Возвращает
целое число|булевоКоличество байтов, возвращенных при записи в стандартный поток ошибок.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::errwrapMessageWithType()source protected
wrapMessageWithType( string $messageType , string|array $message )
Оборачивает сообщение заданным типом сообщения, например
Параметры
- строка
$messageType - Тип сообщения, например "предупреждение".
- строка|массив
$message - Сообщение для обертывания.
Возвращает
массив|строкаСообщение, обернутое заданным типом сообщения.
wrapText()source public
wrapText( string $text , integer|array $options [] )
Оборачивает блок текста. Позволяет задать ширину и отступы в блоке текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезать только по границам слов (пробелы). По умолчанию true. -
indentОтступ текста с помощью предоставленной строки. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- целое число|массив
$optionsнеобязательный [] - Массив параметров или целое число для обрезки текста.
Возвращает
строкаОтображенный/отступленный текст
См. также
\Cake\Utility\Text::wrap()Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::wrapTextМетоды, используемые из Cake\ORM\Locator\LocatorAwareTrait
getTableLocator()source public
getTableLocator( )
Получение локатора таблицы.
Возвращает
Cake\ORM\Locator\LocatorInterfacesetTableLocator()source public
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Установка локатора таблицы.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator - Экземпляр LocatorInterface.
Возвращает
$this
tableLocator()source public
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )
Установка локатора таблицы. Если параметры не переданы, возвращает текущий используемый локатор.
Устаревший
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательный null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceМетоды, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Удобный метод для записи сообщения в журнал. Подробнее о записи в журналы см. Log::write().
Параметры
- смешанный
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательный LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательный [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
булевоУспех записи в журнал.
Методы, используемые из Cake\Utility\MergeVariablesTrait
_mergeProperty()source protected
_mergeProperty( string $property , array $parentClasses , array $options )
Объединение одного свойства со значениями, объявленными во всех родительских классах.
Параметры
- строка
$property - Имя объединяемого свойства.
- массив
$parentClasses - Массив классов, которые нужно объединить.
- массив
$options - Параметры для объединения свойства, см. _mergeVars()
_mergePropertyData()source protected
_mergePropertyData( array $current , array $parent , boolean $isAssoc )
Объединение каждого из ключей в свойстве.
Параметры
- массив
$current - Текущее объединенное значение.
- массив
$parent - Значение родительского класса.
- булево
$isAssoc - Указывает, должно ли объединение выполняться в ассоциативном режиме.
Возвращает
смешанныйОбновленное значение.
_mergeVars()source protected
_mergeVars( array $properties , array $options [] )
Объединение списка $properties со всеми родительскими классами текущего класса.
Параметры:
-
associative- Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.
Параметры
- массив
$properties - Массив свойств и стратегии объединения для них.
- массив
$optionsнеобязательный [] - Параметры для объединения свойств.
Методы, используемые из Cake\Datasource\ModelAwareTrait
_setModelClass()source protected
_setModelClass( string $name )
Установка свойств modelClass и modelKey на основе соглашений.
Если свойства уже заданы, они не будут перезаписаны
Параметры
- строка
$name - Имя класса.
getModelType()source public
getModelType( )
Получение типа модели, используемого этим классом
Возвращает
строкаloadModel()source public
loadModel( string|null $modelClass null , string|null $modelType null )
Загрузка и создание объектов репозитория, необходимых этому объекту
Обычно используется для загрузки объектов ORM Table по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, которые использует ваше приложение.
Если поставщик репозитория не возвращает объект, будет выброшено MissingModelException.
Параметры
- строка|null
$modelClassнеобязательный null - Имя класса модели для загрузки. По умолчанию $this->modelClass
- строка|null
$modelTypeнеобязательный null - Тип репозитория для загрузки. По умолчанию значение modelType().
Возвращает
Cake\Datasource\RepositoryInterfaceСозданный экземпляр модели.
Исключения
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentException
При использовании типа, который не зарегистрирован.
UnexpectedValueException
Если тип модели не определен
modelFactory()source public
modelFactory( string $type , callable $factory )
Переопределите существующую вызываемую функцию для генерации хранилищ заданного типа.
Параметры
- строка
$type - Название типа хранилища, для которого предназначена функция-фабрика.
- вызываемая функция
$factory - Функция-фабрика, используемая для создания экземпляров.
modelType()source public
modelType( string|null $modelType null )
Установить или получить тип модели, который будет использоваться этим классом
Устаревшее
3.5.0 Используйте getModelType()/setModelType() вместо этого.Параметры
- строка|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращает
строка|Cake\Datasource\ModelAwareTrait$this
setModelType()source public
setModelType( string $modelType )
Установить тип модели, который будет использоваться этим классом
Параметры
- строка
$modelType - Тип модели
Возвращает
$this
Магические методы, унаследованные от Cake\Console\Shell
main() |
© 2005–2017 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.4/class-Cake.Shell.Task.CommandTask.html