Spec-Zone.ru › CakePHP 3.5

Класс CommandTask

Базовый класс для рефлексии команд оболочки.

Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
Extended by Cake\Shell\Task\CommandTask
Пространство имен: Cake\Shell\Task
Расположение: Shell/Task/CommandTask.php

Наследованные константы

  • CODE_ERROR, CODE_SUCCESS, NORMAL, QUIET, VERBOSE

Наследованные свойства

  • 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
Список имён классов оболочек на основе конвенций.

commands()source public

commands( )

Возвращает список всех команд

Возвращает

array

getShell()source public

getShell( string $commandName )

Получает экземпляр Shell для заданной команды

Параметры

string $commandName
Команда, которую вы хотите получить.

Возвращает

Cake\Console\Shell|boolean
Экземпляр Shell, если команда найдена, иначе false.

getShellList()source public

getShellList( )

Получает список команд оболочки.

Возвращает

array

options()source public

options( string $commandName , string $subCommandName '' )

Получает список опций для заданной команды или подкоманды

Параметры

string $commandName
Команда, для которой нужно получить список опций.
string $subCommandName optional ''

Подкоманда, для которой нужно получить список опций. Может быть пустой, чтобы получить опции для команды. Если этот параметр используется, подкоманда должна быть действительной подкомандой переданной команды.

Возвращает

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 $io optional 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
Количество байт, возвращённых при записи в stdout.

_setOutputLevel()source protected

_setOutputLevel( )

Устанавливает уровень вывода на основе параметров.

Это переконфигурирует уровень вывода для out() и настроенное протоколирование stdout/stderr

_stop()source protected

_stop( integer|string $status self::CODE_SUCCESS )

Останавливает выполнение текущего скрипта. Вызывает StopException для остановки выполнения.

Параметры

integer|string $status optional self::CODE_SUCCESS
см. https://secure.php.net/exit для значений

Исключения

Cake\Console\Exception\StopException

_welcome()source protected

_welcome( )

Отображает заголовок оболочки

END_OF_DOCUMENT_MARKER

abort()source public

abort( string $message , integer $exitCode self::CODE_ERROR )

Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1

Параметры

строка $message
Сообщение об ошибке
целое число $exitCode необязательно self::CODE_ERROR
Код выхода для задачи командной оболочки.

Исключения

Cake\Console\Exception\StopException

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-output

clear()source public

clear( )

Очистить консоль

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#console-output

createFile()source public

createFile( string $path , string $contents )

Создает файл по заданному пути

Параметры

строка $path
Куда поместить файл.
строка $contents
Содержимое файла.

Возвращает

boolean
Успех

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#creating-files

dispatchShell()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'] ]);

Возвращает

целое число
Код завершения команды командной строки. 0 — успех.

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#invoking-other-shells-from-your-shell

err()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

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-output

getIo()source public

getIo( )

Получить объект io для этой оболочки.

Возвращает

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-help

hasMethod()source public

hasMethod( string $name )

Проверить, есть ли у этой оболочки вызываемый метод с заданным именем.

Параметры

строка $name
Имя метода для проверки.

Возвращает

логическое значение

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-tasks

hasTask()source public

hasTask( string $task )

Проверить, есть ли у этой оболочки задача с заданным именем.

Параметры

строка $task
Имя задачи для проверки.

Возвращает

логическое значение
Успех

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-tasks

helper()source public

helper( string $name , array $settings [] )

Отобразить помощник Console Helper

Создать и отобразить вывод для объекта помощника. Если объект помощника еще не загружен, он будет загружен и создан.

Параметры

строка $name
Имя помощника для отображения
массив $settings необязательно []
Данные конфигурации для помощника.

Возвращает

Cake\Console\Helper
Созданный экземпляр помощника.

hr()source public

hr( integer $newlines 0 , integer $width 63 )

Выводит серию символов минус в стандартный вывод, выступает в качестве визуального разделителя.

Параметры

целое число $newlines необязательно 0
Количество символов новой строки для добавления перед и после
целое число $width необязательно 63
Ширина строки, по умолчанию 63

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::hr

in()source public

in( string $prompt , string|array|null $options null , string|null $default null )

Запрашивает у пользователя ввод и возвращает его.

Параметры

строка $prompt
Текст запроса.
строка|массив|null $options необязательно null
Массив или строка вариантов.
строка|null $default необязательно null
Значение ввода по умолчанию.

Возвращает

смешанный тип
Значение по умолчанию или введенное пользователем.

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::in

info()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.

См. также

https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::out
END_OF_DOCUMENT_MARKER

initialize()source public

initialize( )

Инициализирует Shell, выступает в качестве конструктора для подклассов, позволяет настроить задачи перед выполнением командной оболочки.

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initialize

io()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

Возвращает

boolean

nl()source public

nl( integer $multiplier 1 )

Возвращает последовательность одной или нескольких символов новой строки.

Параметры

целое число $multiplier необязательно 1
Количество раз, которое последовательность символов новой строки должна повторяться.

Возвращает

строка

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nl

out()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::out

param()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.

Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:

  • Метод в командной оболочке.
  • Соответствующее имя задачи.
  • 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-console

setIo()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::shortPath

startup()source public

startup( )

Запускает Shell и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основного выполнения.

Переопределите этот метод, если хотите удалить приветственную информацию или по-другому изменить предкомандный поток.

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::startup

success()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::out
END_OF_DOCUMENT_MARKER

verbose()source public

verbose( string|array $message , integer $newlines 1 )

Вывод на уровне verbose.

Параметры

строка|массив $message
Строка или массив строк для вывода
целое число $newlines необязательно 1
Количество символов новой строки для добавления

Возвращает

целое число|логическое значение
Количество байтов, возвращенных при записи в stdout.

warn()source public

warn( string|array|null $message null , integer $newlines 1 )

Удобный метод для err(), который оборачивает сообщение тегом

Параметры

строка|массив|null $message необязательно null
Строка или массив строк для вывода
целое число $newlines необязательно 1
Количество символов новой строки для добавления

Возвращает

целое число|логическое значение
Количество байтов, возвращенных при записи в stderr.

См. также

https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::err

wrapMessageWithType()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\LocatorInterface

setTableLocator()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
Если тип модели не определен
END_OF_DOCUMENT_MARKER

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–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.Shell.Task.CommandTask.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API