Spec-Zone.ru › CakePHP 3.3

Класс CommandTask

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

Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
Расширяется 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, 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
Директория для чтения.

Возвращает

массив
Список имён классов оболочки на основе соглашений.

commands()source public

commands( )

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

Возвращает

массив

getShell()source public

getShell( string $commandName )

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

Параметры

строка $commandName
Команда, которую вы хотите.

Возвращает

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

getShellList()source public

getShellList( )

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

Возвращает

массив

options()source public

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

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

Параметры

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

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

Возвращает

массив
Список опций для заданной команды или подкоманды

subCommands()source public

subCommands( string $commandName )

Возвращает список подкоманд для заданной команды

Параметры

строка $commandName
Команда, для которой нужны подкоманды.

Возвращает

массив

Методы унаследованные от Cake\Console\Shell

__construct()source public

__construct( Cake\Console\ConsoleIo $io null )

Создаёт экземпляр этого Shell.

Параметры

Cake\Console\ConsoleIo $io optional 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, чтобы попытаться остановить выполнение.

Параметры

целое число|строка $status optional self::CODE_SUCCESS
см. http://php.net/exit для значений

Исключение

Cake\Console\Exception\StopException

_welcome()source protected

_welcome( )

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

abort()source public

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

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

Параметры

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

Исключение

Cake\Console\Exception\StopException

Ссылка

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

clear()source public

clear( )

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

Ссылка

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

createFile()source public

createFile( string $path , string $contents )

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

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

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

Ссылка

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

getOptionParser()source public

getOptionParser( )

Получает экземпляр парсера опций и настраивает его.

Переопределяя этот метод, вы можете настроить ConsoleOptionParser перед его возвращением.

Возвращает

Cake\Console\ConsoleOptionParser

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#configuring-options-and-generating-help

hasMethod()source public

hasMethod( string $name )

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

Параметры

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

Возвращает

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

Ссылка

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

hasTask()source public

hasTask( string $task )

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

Параметры

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

Возвращает

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

Ссылка

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

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

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

См

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

initialize()source public

initialize( )

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

Ссылка

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

io()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::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
Уровень вывода сообщения, см. выше.

Возвращаемое значение

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

Ссылка

http://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.

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

  • Метод в 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-console

shortPath()source public

shortPath( string $file )

Делает абсолютный путь к файлу более читаемым.

Параметры

строка $file
Абсолютный путь к файлу

Возвращаемое значение

строка
короткое имя пути

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPath

startup()source public

startup( )

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

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

Ссылка

http://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
Уровень вывода сообщения, см. выше.

Возвращаемое значение

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

См. также

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

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

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

Spec-Zone.ru

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