Класс CommandTask
Базовый класс для рефлексии команд оболочки.
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait, Cake\Log\LogTrait, Cake\Utility\MergeVariablesTrait, Cake\Datasource\ModelAwareTrait
-
Cake\Shell\Task\CommandTask
Подробное описание методов
_appendShellsисточник protected
_appendShells( string $type , array $shells , array $shellList )
Сканирует указанные пути для оболочек и добавляет их в $shellList
Параметры
- строка
$type - Тип объекта.
- массив
$shells - Имя оболочки.
- массив
$shellList - Список оболочек.
Возвращает
arrayОбновленный $shellList
_scanDirисточник protected
_scanDir( string $dir )
Сканирует директорию на наличие файлов .php и возвращает имена классов, которые должны быть в них.
Параметры
- строка
$dir - Директория для чтения.
Возвращает
arrayСписок имён классов оболочек, основанный на соглашениях.
getShellисточник public
getShell( string $commandName )
Получает экземпляр Shell для заданной команды
Параметры
- строка
$commandName - Команда, которую вы хотите.
Возвращает
Cake\Console\Shell|booleanЭкземпляр Shell, если команда найдена, в противном случае false.
optionsисточник public
options( string $commandName , string $subCommandName '' )
Получает список опций для заданной команды или подкоманды
Параметры
- строка
$commandName - Команда для получения опций.
- строка
$subCommandNameнеобязательно '' - Подкоманда для получения опций. Может быть пустой, чтобы получить опции для команды. Если этот параметр используется, подкоманда должна быть допустимой подкомандой переданной команды
Возвращает
arrayСписок опций для заданной команды или подкоманды
subCommandsисточник public
subCommands( string $commandName )
Возвращает список подкоманд для заданной команды
Параметры
- строка
$commandName - Команда, для которой вы хотите подкоманды.
Возвращает
arrayмассив
Наследованные методы от Cake\Console\Shell
__constructисточник public
__construct( Cake\Console\ConsoleIo $io null )
Создаёт экземпляр Shell.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Экземпляр io.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell__debugInfoисточник public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния объекта.
Возвращает
arrayмассив
__getисточник public
__get( string $name )
Перегрузка get для ленивого создания задач
Параметры
- строка
$name - Задача для получения.
Возвращает
Cake\Console\ShellОбъект Task
_displayHelpисточник protected
_displayHelp( string $command )
Отображает справку в нужном формате
Параметры
- строка
$command - Команда для получения справки.
Возвращает
integer|booleanint|bool
_setOutputLevelисточник protected
_setOutputLevel( )
Устанавливает уровень вывода на основе параметров.
Это переконфигурирует уровень вывода для out() и настроенное протоколирование stdout/stderr
_stopисточник protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Обёртка exit(), что упрощает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
clearисточник public
clear( )
Очистить консоль
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#console-outputcreateFileисточник public
createFile( string $path , string $contents )
Создаёт файл по указанному пути
Параметры
- строка
$path - Куда поместить файл.
- строка
$contents - Содержание файла.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShellисточник 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'] ]);`
Возвращает
mixedРезультат работы другой оболочки.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#invoking-other-shells-from-your-shellerrsource public
err( string|array|null $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводится только символ новой строки.
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
errorsource public
error( string $title , string|null $message null )
Отображает отформатированное сообщение об ошибке и завершает приложение со статусом 1
Параметры
- строка
$title - Заголовок ошибки
- строка|null
$messageнеобязательно null - Необязательное сообщение об ошибке
Возвращает
integerКод ошибки
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputgetOptionParsersource public
getOptionParser( )
Получает экземпляр парсера опций и настраивает его.
Переопределяя этот метод, вы можете настроить ConsoleOptionParser перед его возвращением.
Возвращает
Cake\Console\ConsoleOptionParser\Cake\Console\ConsoleOptionParser
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#configuring-options-and-generating-helphasMethodsource public
hasMethod( string $name )
Проверяет, имеет ли этот shell вызываемый метод с данным именем.
Параметры
- строка
$name - Имя метода для проверки.
Возвращает
booleanbool
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTasksource public
hasTask( string $task )
Проверяет, имеет ли этот shell задачу с указанным именем.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращает
booleanУспешно
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelpersource public
helper( string $name , array $settings [] )
Отображение помощника Console
Создание и отображение вывода для объекта помощника. Если объект помощника еще не загружен, он будет загружен и создан.
Параметры
- строка
$name - Имя помощника для отображения
- массив
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращает
Cake\Console\HelperСозданный экземпляр помощника.
hrsource 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::hrinsource public
in( string $prompt , string|array|null $options null , string|null $default null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив|null
$optionsнеобязательно null - Массив или строка вариантов.
- строка|null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
mixedЗначение по умолчанию или введенное пользователем.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::ininitializesource public
initialize( )
Инициализирует Shell, действует как конструктор для подклассов, позволяет настраивать задачи перед выполнением shell.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeiosource public
io( Cake\Console\ConsoleIo $io null )
Получить/Установить объект io для этого shell.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Объект ConsoleIo для использования.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
loadTaskssource public
loadTasks( )
Загружает задачи, определенные в public $tasks
Возвращает
booleanbool
nlsource public
nl( integer $multiplier 1 )
Возвращает одну или несколько последовательностей символов новой строки.
Параметры
- целое число
$multiplierнеобязательно 1 - Количество повторений последовательности символов новой строки
Возвращает
stringстрока
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nloutsource public
out( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Task\Shell::NORMAL )
Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводится только символ новой строки.
Уровни вывода
Существует 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 - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanВозвращает количество байт, возвращенных при записи в stdout.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outparamsource public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращает
string|boolean|nullЗначение. Вернет null, если параметра не существует.
parseDispatchArgumentssource public
parseDispatchArguments( array $args )
Парсит аргументы для метода dispatchShell().
Параметры
- массив
$args - Аргументы полученные от метода dispatchShell() с помощью func_get_args()
Возвращает
arrayПервое значение должно быть массивом аргументов команды. Второе значение должно быть массивом дополнительных параметров для передачи диспетчеру
quietsource public
quiet( string|array $message , integer $newlines 1 )
Вывод на всех уровнях.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращаемое значение
integer|booleanВозвращает количество байтов, возвращенных при записи в stdout.
runCommandsource public
runCommand( array $argv , boolean $autoMethod false , array $extra [] )
Выполняет Shell с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Для вызова задач они должны быть представлены как подкоманды. Если вы определяете подкоманды, вы должны определить все подкоманды, необходимые вашей оболочке, независимо от того, являются ли они методами этого класса или методами задач.
Параметры
- массив
$argv - Массив аргументов для выполнения shell. Этот массив должен не содержать имени shell.
- логическое значение
$autoMethodнеобязательно false - Установите в значение true, чтобы разрешить вызов любого публичного метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher, чтобы упростить создание простых оболочек.
- массив
$extraнеобязательно [] - Дополнительные параметры, которые вы можете вручную передать Shell для обработки. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветственного сообщения Shell
Возвращаемое значение
mixedсмешанное
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#the-cakephp-consoleshortPathsource public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращаемое значение
stringсокращенный путь
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPathstartupsource public
startup( )
Запускает Shell и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основного кода
Переопределите этот метод, если хотите удалить приветственную информацию или изменить поток перед командой.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::startupverbosesource public
verbose( string|array $message , integer $newlines 1 )
Вывод на уровне verbose.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращаемое значение
integer|booleanВозвращает количество байтов, возвращенных при записи в stdout.
wrapTextsource public
wrapText( string $text , integer|array $options [] )
Обертывание блока текста. Позволяет задать ширину и отступы блока текста.
Опции
-
widthШирина обёртывания. По умолчанию 72 -
wordWrapОбертывание только по словам (пробелам). По умолчанию true. -
indentОтступ текста с помощью предоставленной строки. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- целое число|массив
$optionsнеобязательно [] - Массив опций для использования, или целое число для обёртывания текста.
Возвращаемое значение
stringОтформатированный/отступленный текст
См.
Cake\Utility\Text::wrap()Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::wrapTextМетоды, используемые из Cake\ORM\Locator\LocatorAwareTrait
tableLocatorsource public
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )
Устанавливает локатор таблиц. Если параметры не переданы, возвращает текущий используемый локатор.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательно null - Экземпляр LocatorInterface.
Возвращаемое значение
Cake\ORM\Locator\LocatorInterface\Cake\ORM\Locator\LocatorInterface
Методы, используемые из Cake\Log\LogTrait
logsource public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
- смешанный
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращаемое значение
booleanРезультат записи в журнал.
Методы, используемые из Cake\Utility\MergeVariablesTrait
_mergePropertysource protected
_mergeProperty( string $property , array $parentClasses , array $options )
Объединение одного свойства со значениями, объявленными во всех родительских классах.
Параметры
- строка
$property - Имя объединяемого свойства.
- массив
$parentClasses - Массив классов, которые нужно объединить.
- массив
$options - Опции для объединения свойства, см. _mergeVars()
_mergePropertyDatasource protected
_mergePropertyData( array $current , array $parent , boolean $isAssoc )
Объединение каждого из ключей в свойстве.
Параметры
- массив
$current - Текущее объединенное значение.
- массив
$parent - Значение родительского класса.
- логическое значение
$isAssoc - Включает ли ассоциативный режим объединения.
Возвращаемое значение
mixedОбновленное значение.
_mergeVarssource protected
_mergeVars( array $properties , array $options [] )
Объединение списка $properties со всеми родительскими классами текущего класса.
Опции:
-
associative- Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.
Параметры
- массив
$properties - Массив свойств и стратегии объединения для них.
- массив
$optionsнеобязательно [] - Опции для объединения свойств.
Методы, используемые из Cake\Datasource\ModelAwareTrait
_setModelClasssource protected
_setModelClass( string $name )
Устанавливает свойства modelClass и modelKey на основе соглашений.
Если свойства уже установлены, они не будут перезаписаны.
Параметры
- строка
$name - Имя класса.
loadModelsource public
loadModel( string|null $modelClass null , string|null $modelType null )
Загружает и создаёт объекты репозитория, необходимые для этого объекта.
Обычно используется для загрузки объектов таблиц ORM по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- string|null
$modelClassнеобязательно null - Имя класса модели для загрузки. По умолчанию равно $this->modelClass
- string|null
$modelTypeнеобязательно null - Тип репозитория для загрузки. По умолчанию соответствует значению modelType().
Возвращает
objectСозданный экземпляр модели.
Выбрасывает
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentExceptionПри использовании типа, который не был зарегистрирован.
UnexpectedValueExceptionЕсли тип модели не определён.
modelFactorysource public
modelFactory( string $type , callable $factory )
Регистрирует вызываемый объект для генерации репозиториев заданного типа.
Параметры
- string
$type - Имя типа репозитория, для которого предназначена функция фабрики.
- callable
$factory - Функция фабрики, используемая для создания экземпляров.
modelTypesource public
modelType( string|null $modelType null )
Устанавливает или получает тип модели, который будет использоваться этим классом
Параметры
- string|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращает
string|$this$this
Постоянные значения, унаследованные от Cake\Console\Shell
CODE_ERROR, NORMAL, QUIET, VERBOSE |
Свойства, унаследованные от Cake\Console\Shell
$OptionParsersource
public Cake\Console\ConsoleOptionParser
Экземпляр ConsoleOptionParser, настроенный для этого класса.
$Taskssource
public Cake\Console\TaskRegistry
Коллекция задач для команды, используемая для создания задач.
$interactivesource
public boolean
Если true, сценарий запросит разрешение на выполнение действий.
true $pluginsource
public string
Имя плагина, к которому принадлежит оболочка. Автоматически устанавливается ShellDispatcher при создании оболочки.
null $taskssource
public array
Содержит задачи для загрузки и инициализации
Ссылка
http://book.cakephp.org/3.0/en/console-and-shells.html#Shell::$tasks[]
Свойства, используемые из Cake\ORM\Locator\LocatorAwareTrait
Свойства, используемые из Cake\Datasource\ModelAwareTrait
$modelClasssource
public string
Основное имя класса модели этого объекта. Должно быть в множественном числе. CakePHP не будет изменять имя.
Пример: Для объекта с именем 'Комментарии', modelClass будет 'Комментарии'. Классы плагинов должны использовать имена в стиле Plugin.Comments для правильной загрузки моделей из соответствующего плагина.
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Shell.Task.CommandTask.html