Класс 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,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
Параметры
- строка
$type - Тип объекта.
- массив
$shells - Имя оболочки.
- массив
$shellList - Список оболочек.
Возвращает
массивОбновлённый $shellList
_scanDir()source protected
_scanDir( string $dir )
Сканирует директорию на наличие файлов .php и возвращает имена классов, которые должны быть в них.
Параметры
- строка
$dir - Директория для чтения.
Возвращает
массивСписок имён классов оболочки на основе соглашений.
getShell()source public
getShell( string $commandName )
Получить экземпляр Shell для заданной команды
Параметры
- строка
$commandName - Команда, которую вы хотите.
Возвращает
Cake\Console\Shell|booleanЭкземпляр Shell, если команда найдена, в противном случае false.
options()source public
options( string $commandName , string $subCommandName '' )
Получить список опций для заданной команды или подкоманды
Параметры
- строка
$commandName - Команда, для которой нужно получить опции.
- строка
$subCommandNameoptional '' Подкоманда, для которой нужно получить опции. Может быть пустой, чтобы получить опции для команды. Если этот параметр используется, подкоманда должна быть действительной подкомандой переданной команды
Возвращает
массивСписок опций для заданной команды или подкоманды
subCommands()source public
subCommands( string $commandName )
Возвращает список подкоманд для заданной команды
Параметры
- строка
$commandName - Команда, для которой нужны подкоманды.
Возвращает
массивМетоды унаследованные от Cake\Console\Shell
__construct()source public
__construct( Cake\Console\ConsoleIo $io null )
Создаёт экземпляр этого Shell.
Параметры
-
Cake\Console\ConsoleIo$iooptional null - Экземпляр io.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
массив__get()source public
__get( string $name )
Перегрузка get для ленивого создания задач
Параметры
- строка
$name - Задача для получения.
Возвращает
Cake\Console\ShellОбъект задачи
_displayHelp()source protected
_displayHelp( string $command )
Отображает справку в правильном формате
Параметры
- строка
$command - Команда, для которой нужна справка.
Возвращает
целое число|булевоКоличество байтов, возвращённых при записи в стандартный вывод.
_setOutputLevel()source protected
_setOutputLevel( )
Устанавливает уровень вывода на основе параметров.
Это переконфигурирует уровень вывода для out() и настроенный вывод для stdout/stderr.
_stop()source protected
_stop( integer|string $status self::CODE_SUCCESS )
Останавливает выполнение текущего скрипта. Выбрасывает StopException, чтобы попытаться остановить выполнение.
Параметры
- целое число|строка
$statusoptional self::CODE_SUCCESS - см. http://php.net/exit для значений
Исключение
Cake\Console\Exception\StopExceptionabort()source public
abort( string $message , integer $exitCode self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Параметры
- строка
$message - Сообщение об ошибке
- целое число
$exitCodeoptional self::CODE_ERROR - Код выхода для задачи оболочки.
Исключение
Cake\Console\Exception\StopExceptionСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputclear()source public
clear( )
Очистить консоль
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#console-outputcreateFile()source public
createFile( string $path , string $contents )
Создаёт файл по заданному пути
Параметры
- строка
$path - Куда поместить файл.
- строка
$contents - Содержимое файла.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShell()source public
dispatchShell( )
Отправляет команду другому Shell. Аналогично 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'] ]);
Возвращает
целое числоКод завершения команды CLI. 0 — успех.
Ссылка
http://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. Если параметры не переданы, выводится только символ новой строки.
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в stderr.
error()source public
error( string $title , string|null $message null , integer $exitCode self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Устарело
С 3.2.0. Используйте Shell::abort() вместо этого.Параметры
- строка
$title - Заголовок ошибки
- строка|null
$messageнеобязательно null - Необязательное сообщение об ошибке
- целое число
$exitCodeнеобязательно self::CODE_ERROR - Код завершения задачи оболочки.
Возвращает
целое числоКод ошибки
Выбрасывает
Cake\Console\Exception\StopExceptionСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputgetOptionParser()source public
getOptionParser( )
Получает экземпляр парсера опций и настраивает его.
Переопределяя этот метод, вы можете настроить ConsoleOptionParser перед его возвращением.
Возвращает
Cake\Console\ConsoleOptionParserСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#configuring-options-and-generating-helphasMethod()source public
hasMethod( string $name )
Проверяет наличие вызываемого метода с заданным именем в этой оболочке.
Параметры
- строка
$name - Имя метода для проверки.
Возвращает
логическое значениеСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTask()source public
hasTask( string $task )
Проверяет наличие задачи с заданным именем в этой оболочке.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращает
логическое значениеУспех
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelper()source public
helper( string $name , array $settings [] )
Отобразить помощника Console
Создаёт и отображает вывод для объекта помощника. Если объект помощника ещё не загружен, он загрузится и будет создан.
Параметры
- строка
$name - Имя помощника для отображения
- массив
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращает
Cake\Console\HelperСозданный экземпляр помощника.
hr()source public
hr( integer $newlines 0 , integer $width 63 )
Выводит ряд символов тире в стандартный вывод, служит визуальным разделителем.
Параметры
- целое число
$newlinesнеобязательно 0 - Количество символов новой строки для добавления до и после
- целое число
$widthнеобязательно 63 - Ширина линии, по умолчанию 63
Ссылка
http://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 )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив|null
$optionsнеобязательно null - Массив или строка опций.
- строка|null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
смешанный типИли значение по умолчанию, или введённое пользователем.
Ссылка
http://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(), который оборачивает сообщение тегами .
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- целое число
$levelнеобязательно Cake\Shell\Task\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в stdout.
См
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outinitialize()source public
initialize( )
Инициализирует оболочку, выступает в качестве конструктора для подклассов, позволяет настроить задачи перед выполнением оболочки
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeio()source public
io( Cake\Console\ConsoleIo $io null )
Получить/Установить объект ввода-вывода для этой оболочки.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Объект ConsoleIo для использования.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
loadTasks()source public
loadTasks( )
Загружает задачи, определённые в public $tasks
Возвращает
логическое значениеnl()source public
nl( integer $multiplier 1 )
Возвращает последовательность одной или нескольких строк.
Параметры
- целое число
$multiplierнеобязательный 1 - Количество повторений последовательности символов перевода строки.
Возвращаемое значение
строкаСсылка
http://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 - Уровень вывода сообщения, см. выше.
Возвращаемое значение
целое число|булевоКоличество байтов, возвращенных при записи в стандартный вывод.
Ссылка
http://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 [] )
Выполняет Shell с предоставленными argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в shell.
- Соответствующее имя задачи.
-
main()метод.
Если shell реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с исходным именем метода в argv.
Для вызова задач они должны быть представлены в виде подкоманд. Если вы определяете подкоманды, вы должны определить все подкоманды, необходимые вашей оболочке, будь то методы этого класса или методы задач.
Параметры
- массив
$argv - Массив аргументов для запуска оболочки. Этот массив должен быть без имени оболочки.
- булево
$autoMethodнеобязательный false Установите в true, чтобы разрешить вызов любого публичного метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher для упрощения создания простых оболочек.
- массив
$extraнеобязательный [] Дополнительные параметры, которые вы можете вручную передать в Shell для обработки. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветственного сообщения Shell
Возвращаемое значение
целое число|булево|nullСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#the-cakephp-consoleshortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым.
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращаемое значение
строкакороткое имя пути
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPathstartup()source public
startup( )
Запускает Shell и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основным выполнением.
Переопределите этот метод, если хотите удалить приветственную информацию или изменить поток перед командой.
Ссылка
http://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 - Уровень вывода сообщения, см. выше.
Возвращаемое значение
целое число|булевоКоличество байтов, возвращенных при записи в стандартный вывод.
См. также
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outverbose()source public
verbose( string|array $message , integer $newlines 1 )
Вывод на уровне verbose.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество добавляемых символов новой строки.
Возвращаемое значение
целое число|булевоКоличество байтов, возвращенных при записи в стандартный вывод.
warn()source public
warn( string|array|null $message null , integer $newlines 1 )
Удобный метод для err(), который оборачивает сообщение тегом
Параметры
- строка|массив|null
$messageнеобязательный null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество добавляемых символов новой строки.
Возвращаемое значение
целое число|булевоКоличество байтов, возвращенных при записи в стандартный поток ошибок.
См. также
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::errwrapText()source public
wrapText( string $text , integer|array $options [] )
Обёртывание блока текста. Позволяет установить ширину и отступы для блока текста.
Опции
-
widthШирина обёртывания. По умолчанию 72 -
wordWrapОбёртывать только по словам (пробелам). По умолчанию true. -
indentОтступ текста с указанной строкой. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- целое число|массив
$optionsнеобязательный [] - Массив опций для использования или целое число для обёртывания текста.
Возвращаемое значение
отформатированный/отступленный текстСм. также
\Cake\Utility\Text::wrap()Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::wrapTextМетоды, используемые из Cake\ORM\Locator\LocatorAwareTrait
tableLocator()source public
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )
Устанавливает локатор таблиц. Если параметры не переданы, он вернёт текущий используемый локатор.
Параметры
-
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().
Параметры
- mixed
$msg - Сообщение журнала.
- integer|string
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- string|array
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanУспешность записи в журнал.
Методы, используемые из Cake\Utility\MergeVariablesTrait
_mergeProperty()source protected
_mergeProperty( string $property , array $parentClasses , array $options )
Объединение одного свойства со значениями, объявленными во всех родительских классах.
Параметры
- string
$property - Имя объединяемого свойства.
- array
$parentClasses - Массив классов, которые необходимо объединить.
- array
$options - Параметры для объединения свойства, см. _mergeVars()
_mergePropertyData()source protected
_mergePropertyData( array $current , array $parent , boolean $isAssoc )
Объединение каждого из ключей в свойстве.
Параметры
- array
$current - Текущее объединённое значение.
- array
$parent - Значение родительского класса.
- boolean
$isAssoc - Флаг, указывающий, следует ли выполнять слияние в ассоциативном режиме.
Возвращает
mixedОбновлённое значение.
_mergeVars()source protected
_mergeVars( array $properties , array $options [] )
Объединение списка $properties со всеми родительскими классами текущего класса.
Параметры:
-
associative- Список свойств, которые следует обрабатывать как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.
Параметры
- array
$properties - Массив свойств и стратегии объединения для них.
- array
$optionsнеобязательно [] - Параметры, используемые при объединении свойств.
Методы, используемые из Cake\Datasource\ModelAwareTrait
_setModelClass()source protected
_setModelClass( string $name )
Устанавливает свойства modelClass и modelKey на основе соглашений.
Если свойства уже установлены, они не будут перезаписаны
Параметры
- string
$name - Имя класса.
loadModel()source public
loadModel( string|null $modelClass null , string|null $modelType null )
Загружает и создаёт объекты репозитория, необходимые этому объекту.
Обычно используется для загрузки объектов ORM Table по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- string|null
$modelClassнеобязательно null - Имя класса модели для загрузки. По умолчанию $this->modelClass
- string|null
$modelTypeнеобязательно null - Тип репозитория для загрузки. По умолчанию значение modelType().
Возвращает
Cake\Datasource\RepositoryInterfaceЭкземпляр созданной модели.
Исключения
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не может быть найден.
InvalidArgumentException
При использовании типа, который не зарегистрирован.
UnexpectedValueException
Если не определён тип модели
modelFactory()source public
modelFactory( string $type , callable $factory )
Переопределить существующий вызываемый объект для генерации репозиториев заданного типа.
Параметры
- string
$type - Имя типа репозитория, для которого предназначена функция фабрики.
- callable
$factory - Функция фабрики, используемая для создания экземпляров.
modelType()source public
modelType( string|null $modelType null )
Установить или получить тип модели, который будет использоваться этим классом.
Параметры
- string|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращает
string|Cake\Datasource\ModelAwareTrait$this
© 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.3/class-Cake.Shell.Task.CommandTask.html