Spec-Zone.ru › CakePHP 3.1

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

Подробное описание методов

_appendShellsисточник protected

_appendShells( string $type , array $shells , array $shellList )

Сканирует указанные пути для оболочек и добавляет их в $shellList

Параметры

строка $type
Тип объекта.
массив $shells
Имя оболочки.
массив $shellList
Список оболочек.

Возвращает

array
Обновленный $shellList

_scanDirисточник protected

_scanDir( string $dir )

Сканирует директорию на наличие файлов .php и возвращает имена классов, которые должны быть в них.

Параметры

строка $dir
Директория для чтения.

Возвращает

array
Список имён классов оболочек, основанный на соглашениях.

commandsисточник public

commands( )

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

Возвращает

array
массив

getShellисточник public

getShell( string $commandName )

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

Параметры

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

Возвращает

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

getShellListисточник public

getShellList( )

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

Возвращает

array
массив

optionsисточник public

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

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

Параметры

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

Возвращает

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

subCommandsисточник public

subCommands( string $commandName )

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

Параметры

строка $commandName
Команда, для которой вы хотите подкоманды.

Возвращает

array
массив

Наследованные методы от Cake\Console\Shell

__constructисточник public

__construct( Cake\Console\ConsoleIo $io null )

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

Параметры

Cake\Console\ConsoleIo $io необязательно null
Экземпляр io.

Ссылка

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

__debugInfoисточник public

__debugInfo( )

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

Возвращает

array
массив

__getисточник public

__get( string $name )

Перегрузка get для ленивого создания задач

Параметры

строка $name
Задача для получения.

Возвращает

Cake\Console\Shell
Объект Task

_displayHelpисточник protected

_displayHelp( string $command )

Отображает справку в нужном формате

Параметры

строка $command
Команда для получения справки.

Возвращает

integer|boolean
int|bool

_setOutputLevelисточник protected

_setOutputLevel( )

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

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

_stopисточник protected

_stop( integer|string $status 0 )

Останавливает выполнение текущего скрипта. Обёртка exit(), что упрощает тестирование.

Параметры

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

_welcomeисточник protected

_welcome( )

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

clearисточник public

clear( )

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

Ссылка

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

createFileисточник public

createFile( string $path , string $contents )

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

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

dispatchShellисточник public

dispatchShell( )

Отправляет команду в другую оболочку. Похоже на Object::requestAction(), но предназначено для запуска оболочек из других оболочек.

Использование:

С текстовой командой:

return $this->dispatchShell('schema create DbAcl');

Избегайте использования этой формы, если у вас есть строковые аргументы, содержащие пробелы. Отправленная команда будет вызвана неправильно. Используйте эту форму только для простого отправления команд.

С массивом команд:

return $this->dispatchShell('schema', 'create', 'i18n', '--dry');

С массивом, содержащим две пары ключ/значение: - command может принимать строку или массив. Представляет команду для отправки - extra может принимать массив дополнительных параметров для передачи диспетчеру. Эти параметры будут доступны в свойстве param вызываемой оболочки Shell

`return $this->dispatchShell([ 'command' => 'schema create DbAcl', 'extra' => ['param' => 'value'] ]);`

или

`return $this->dispatchShell([ 'command' => ['schema', 'create', 'DbAcl'], 'extra' => ['param' => 'value'] ]);`

Возвращает

mixed
Результат работы другой оболочки.

Ссылка

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

errsource public

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

Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводится только символ новой строки.

Параметры

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

errorsource public

error( string $title , string|null $message null )

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

Параметры

строка $title
Заголовок ошибки
строка|null $message необязательно null
Необязательное сообщение об ошибке

Возвращает

integer
Код ошибки

Ссылка

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

getOptionParsersource public

getOptionParser( )

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

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

Возвращает

Cake\Console\ConsoleOptionParser
\Cake\Console\ConsoleOptionParser

Ссылка

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

hasMethodsource public

hasMethod( string $name )

Проверяет, имеет ли этот shell вызываемый метод с данным именем.

Параметры

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

Возвращает

boolean
bool

Ссылка

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

hasTasksource public

hasTask( string $task )

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

Параметры

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

Возвращает

boolean
Успешно

Ссылка

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

helpersource public

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

Отображение помощника Console

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

Параметры

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

Возвращает

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

hrsource public

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

Выводит серию символов минус в стандартный вывод, служит разделителем.

Параметры

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

Ссылка

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

insource 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

initializesource public

initialize( )

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

Ссылка

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

iosource public

io( Cake\Console\ConsoleIo $io null )

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

Параметры

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

Возвращает

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

loadTaskssource public

loadTasks( )

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

Возвращает

boolean
bool

nlsource public

nl( integer $multiplier 1 )

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

Параметры

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

Возвращает

string
строка

Ссылка

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

outsource public

out( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Task\Shell::NORMAL )

Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводится только символ новой строки.

Уровни вывода

Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве оболочек. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.

Параметры

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

Возвращает

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

Ссылка

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

paramsource public

param( string $name )

Безопасный доступ к значениям в $this->params.

Параметры

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

Возвращает

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

parseDispatchArgumentssource public

parseDispatchArguments( array $args )

Парсит аргументы для метода dispatchShell().

Параметры

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

Возвращает

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

quietsource public

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

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

Параметры

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

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

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

runCommandsource public

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

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

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

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

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

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

Параметры

массив $argv
Массив аргументов для выполнения shell. Этот массив должен не содержать имени shell.
логическое значение $autoMethod необязательно false
Установите в значение true, чтобы разрешить вызов любого публичного метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher, чтобы упростить создание простых оболочек.
массив $extra необязательно []
Дополнительные параметры, которые вы можете вручную передать Shell для обработки. Встроенный дополнительный параметр: - requested : если используется, предотвратит отображение приветственного сообщения Shell

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

mixed
смешанное

Ссылка

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

shortPathsource public

shortPath( string $file )

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

Параметры

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

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

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

Ссылка

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

startupsource public

startup( )

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

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

Ссылка

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

verbosesource public

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

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

Параметры

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

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

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

wrapTextsource public

wrapText( string $text , integer|array $options [] )

Обертывание блока текста. Позволяет задать ширину и отступы блока текста.

Опции

  • width Ширина обёртывания. По умолчанию 72
  • wordWrap Обертывание только по словам (пробелам). По умолчанию true.
  • indent Отступ текста с помощью предоставленной строки. По умолчанию null.

Параметры

строка $text
Текст для форматирования.
целое число|массив $options необязательно []
Массив опций для использования, или целое число для обёртывания текста.

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

string
Отформатированный/отступленный текст

См.

Cake\Utility\Text::wrap()

Ссылка

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

Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait

tableLocatorsource public

tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )

Устанавливает локатор таблиц. Если параметры не переданы, возвращает текущий используемый локатор.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator необязательно null
Экземпляр LocatorInterface.

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

Cake\ORM\Locator\LocatorInterface
\Cake\ORM\Locator\LocatorInterface

Методы, используемые из Cake\Log\LogTrait

logsource public

log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )

Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.

Параметры

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

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

boolean
Результат записи в журнал.

Методы, используемые из Cake\Utility\MergeVariablesTrait

_mergePropertysource protected

_mergeProperty( string $property , array $parentClasses , array $options )

Объединение одного свойства со значениями, объявленными во всех родительских классах.

Параметры

строка $property
Имя объединяемого свойства.
массив $parentClasses
Массив классов, которые нужно объединить.
массив $options
Опции для объединения свойства, см. _mergeVars()

_mergePropertyDatasource protected

_mergePropertyData( array $current , array $parent , boolean $isAssoc )

Объединение каждого из ключей в свойстве.

Параметры

массив $current
Текущее объединенное значение.
массив $parent
Значение родительского класса.
логическое значение $isAssoc
Включает ли ассоциативный режим объединения.

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

mixed
Обновленное значение.

_mergeVarssource protected

_mergeVars( array $properties , array $options [] )

Объединение списка $properties со всеми родительскими классами текущего класса.

Опции:

  • associative - Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.

Параметры

массив $properties
Массив свойств и стратегии объединения для них.
массив $options необязательно []
Опции для объединения свойств.

Методы, используемые из Cake\Datasource\ModelAwareTrait

_setModelClasssource protected

_setModelClass( string $name )

Устанавливает свойства modelClass и modelKey на основе соглашений.

Если свойства уже установлены, они не будут перезаписаны.

Параметры

строка $name
Имя класса.

loadModelsource public

loadModel( string|null $modelClass null , string|null $modelType null )

Загружает и создаёт объекты репозитория, необходимые для этого объекта.

Обычно используется для загрузки объектов таблиц ORM по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.

Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.

Параметры

string|null $modelClass необязательно null
Имя класса модели для загрузки. По умолчанию равно $this->modelClass
string|null $modelType необязательно null
Тип репозитория для загрузки. По умолчанию соответствует значению modelType().

Возвращает

object
Созданный экземпляр модели.

Выбрасывает

Cake\Datasource\Exception\MissingModelException
Если класс модели не найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не определён.

modelFactorysource public

modelFactory( string $type , callable $factory )

Регистрирует вызываемый объект для генерации репозиториев заданного типа.

Параметры

string $type
Имя типа репозитория, для которого предназначена функция фабрики.
callable $factory
Функция фабрики, используемая для создания экземпляров.

modelTypesource public

modelType( string|null $modelType null )

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

Параметры

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

Возвращает

string|$this
$this

Постоянные значения, унаследованные от Cake\Console\Shell

CODE_ERROR, NORMAL, QUIET, VERBOSE

Свойства, унаследованные от Cake\Console\Shell

$OptionParsersource

public Cake\Console\ConsoleOptionParser

Экземпляр ConsoleOptionParser, настроенный для этого класса.

$Taskssource

public Cake\Console\TaskRegistry

Коллекция задач для команды, используемая для создания задач.

$_iosource

protected Cake\Console\ConsoleIo

Экземпляр ConsoleIo.

$_taskMapsource

protected array

Нормализованная карта задач.

[]

$argssource

public array

Содержит аргументы, разобранные из командной строки.

[]

$commandsource

public string

Команда (метод/задача), которая выполняется.

$interactivesource

public boolean

Если true, сценарий запросит разрешение на выполнение действий.

true

$namesource

public string

Имя оболочки в формате camelCase.

null

$paramssource

public array

Содержит переключатели команд, разобранные из командной строки.

[]

$pluginsource

public string

Имя плагина, к которому принадлежит оболочка. Автоматически устанавливается ShellDispatcher при создании оболочки.

null

$taskNamessource

public array

Содержит загруженные задачи

[]

$taskssource

public array

Содержит задачи для загрузки и инициализации

Ссылка

http://book.cakephp.org/3.0/en/console-and-shells.html#Shell::$tasks
[]

Свойства, используемые из Cake\ORM\Locator\LocatorAwareTrait

$_tableLocatorsource

protected Cake\ORM\Locator\LocatorInterface

Экземпляр локатора таблиц

Свойства, используемые из Cake\Datasource\ModelAwareTrait

$_modelFactoriessource

protected array

Список функций фабрики моделей.

[]

$_modelTypesource

protected string

Тип модели для использования.

'Table'

$modelClasssource

public string

Основное имя класса модели этого объекта. Должно быть в множественном числе. CakePHP не будет изменять имя.

Пример: Для объекта с именем 'Комментарии', modelClass будет 'Комментарии'. Классы плагинов должны использовать имена в стиле Plugin.Comments для правильной загрузки моделей из соответствующего плагина.

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.1/class-Cake.Shell.Task.CommandTask.html

Spec-Zone.ru

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