Spec-Zone.ru › CakePHP 3.2

Класс 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, 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 )

Создаёт экземпляр этой оболочки.

Параметры

Cake\Console\ConsoleIo $io optional null
Экземпляр io.

Ссылка

http://book.cakephp.org/3.0/en/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
Команда, для которой нужна справка.

Возвращает

целое число|boolean

_setOutputLevel()source protected

_setOutputLevel( )

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

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

_stop()source protected

_stop( integer|string $status 0 )

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

Параметры

целое число|строка $status optional 0
см. 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/en/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'] ]);

Возвращает

mixed
Результат работы другого шелла.

Ссылка

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
Количество переходов на новую строку для добавления

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
Имя метода для проверки.

Возвращает

boolean

Ссылка

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

hasTask()source public

hasTask( string $task )

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

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

helper()source public

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

Отобразить помощника консоли

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

Параметры

строка $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
Значение ввода по умолчанию.

Возвращает

mixed
Значение по умолчанию или ввод пользователя.

Ссылка

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

Возвращает

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

См. также

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

initialize()source public

initialize( )

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

Ссылка

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

io()source public

io( Cake\Console\ConsoleIo $io null )

Получить/установить объект io для этого шелла.

Параметры

Cake\Console\ConsoleIo $io необязательно null
Объект ConsoleIo для использования.

Возвращает

Cake\Console\ConsoleIo
Текущий объект ConsoleIo.

loadTasks()source public

loadTasks( )

Загружает задачи, определённые в public $tasks

Возвращает

boolean

nl()source public

nl( integer $multiplier 1 )

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

Параметры

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

Возвращает

string

Ссылка

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 означает, что оно будет отображаться только при включенном подробном выводе.

Параметры

string|array|null $message необязательно null
Строка или массив строк для вывода
integer $newlines необязательно 1
Количество символов новой строки для добавления
integer $level необязательно Cake\Shell\Task\Shell::NORMAL
Уровень вывода сообщения, см. выше.

Возвращает

integer|boolean
Возвращает количество байтов, возвращенных при записи в стандартный вывод.

Ссылка

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

param()source public

param( string $name )

Безопасно получить значения из $this->params.

Параметры

string $name
Имя параметра для получения.

Возвращает

string|boolean|null
Значение. Вернет null, если параметр не существует.

parseDispatchArguments()source public

parseDispatchArguments( array $args )

Разбирает аргументы для метода dispatchShell().

Параметры

array $args

Аргументы, полученные из метода dispatchShell() с помощью func_get_args()

Возвращает

array

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


quiet()source public

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

Вывод на всех уровнях.

Параметры

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

Возвращает

integer|boolean
Возвращает количество байтов, возвращенных при записи в стандартный вывод.

runCommand()source public

runCommand( array $argv , boolean $autoMethod false , array $extra [] )

Выполняет Shell с предоставленным argv.

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

  • Метод в оболочке.
  • Соответствующее имя задачи.
  • main() метод.

Если оболочка реализует main() метод, все отсутствующие вызовы методов будут отправлены в main() с исходным именем метода в argv.

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

Параметры

array $argv
Массив аргументов для запуска Shell. В этом массиве должно отсутствовать имя оболочки.
boolean $autoMethod необязательно false

Установите в значение true, чтобы разрешить вызов любого публичного метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher для упрощения создания простых оболочек.

array $extra необязательно []

Дополнительные параметры, которые вы можете вручную передать Shell для обработки. Встроенный дополнительный параметр: - requested : если используется, предотвратит отображение приветственного сообщения Shell

Возвращает

mixed

Ссылка

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

shortPath()source public

shortPath( string $file )

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

Параметры

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

Возвращает

string
сокращённый путь

Ссылка

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(), который оборачивает сообщение между тегами

Параметры

string|array|null $message необязательно null
Строка или массив строк для вывода
integer $newlines необязательно 1
Количество символов новой строки для добавления
integer $level необязательно Cake\Shell\Task\Shell::NORMAL
Уровень вывода сообщения, см. выше.

Возвращает

integer|boolean
Возвращает количество байтов, возвращенных при записи в стандартный вывод.

См. также

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

verbose()source public

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

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

Параметры

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

Возвращает

integer|boolean
Возвращает количество байтов, возвращенных при записи в стандартный вывод.

warn()source public

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

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

Параметры

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

Возвращает

integer|boolean
Возвращает количество байтов, возвращенных при записи в стандартный вывод.

См. также

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

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

Параметры

смешанный $msg
Сообщение журнала.
целое число или строка $level необязательно LogLevel::ERROR
Уровень ошибки.
строка или массив $context необязательно []
Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращает

boolean
Успех записи в журнал.

Методы, используемые из 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
Значение родительского класса.
boolean $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
Имя класса.

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 )

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

Параметры

строка|null $modelType необязательно null
Тип модели или null для получения текущего

Возвращает

строка|Cake\Datasource\ModelAwareTrait
$this

© 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.2/class-Cake.Shell.Task.CommandTask.html

Spec-Zone.ru

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