Spec-Zone.ru › CakePHP 3.4

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

_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

Параметры

string $message
Сообщение об ошибке
integer $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 )

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

Параметры

string $path
Куда поместить файл.
string $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'] ]);

Возвращает

integer
Код завершения командной строки. 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. Если параметры не переданы, выводится только новая строка.

Параметры

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

getIo()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-help

hasMethod()source public

hasMethod( string $name )

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

Параметры

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

Возвращает

boolean

Ссылка

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

hasTask()source public

hasTask( string $task )

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

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

helper()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::hr

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

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

initialize()source public

initialize( )

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

Ссылка

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 [] )

Выполняет оболочку с предоставленным 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( )

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

Переопределите этот метод, если хотите удалить приветственное сообщение или изменить порядок выполнения до команды.

Ссылка

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 )

Вывод на уровне подробности.

Параметры

строка|массив $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::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
Если тип модели не определен

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

Spec-Zone.ru

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