Класс CompletionShell
Предоставляет оболочки для автодополнения команд, такие как bash.
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
-
Cake\Shell\CompletionShell
Унаследованные константы
Резюме свойств
-
$taskspublicСодержит задачи для загрузки и создания экземпляровarray
Резюме магических свойств
-
$Commandpublic
Унаследованные свойства
-
OptionParser,Tasks,_io,_taskMap,args,command,interactive,name,params,plugin,rootName,taskNames_tableLocator_modelFactories,_modelType,modelClass
Резюме методов
- _output() protectedВыводит результаты в виде строки, разделённой пробелами
- commands() publicСписок команд
- fuzzy() publicПредполагает автодополнение по всей строке аргумента
- getOptionParser() publicПолучает экземпляр анализатора опций и настраивает его.
- main() publicНе вызывается оболочкой автодополнения — для любопытных пользователей
- options() publicСписок опций для указанной команды
- startup() publicНе выводит заголовок, переопределяя метод startup
- subcommands() publicСписок подкоманд для указанной команды
Подробное описание методов
_output()source protected
_output( array $options = [] )
Выводит результаты в виде строки, разделённой пробелами
Параметры
- массив
$optionsнеобязательно [] - Опции для вывода
Возвращаемое значение
целое число|логическое значение|nullВозвращает количество байтов, возвращённых при записи в стандартный вывод.
commands()source public
commands( )
Список команд
Возвращаемое значение
целое число|логическое значение|nullВозвращает количество байтов, возвращённых при записи в стандартный вывод.
fuzzy()source public
fuzzy( )
Предполагает автодополнение по всей строке аргумента
Возвращаемое значение
целое число|логическое значение|nullВозвращает количество байтов, возвращённых при записи в стандартный вывод.
getOptionParser()source public
getOptionParser( )
Получает экземпляр анализатора опций и настраивает его.
Возвращаемое значение
Cake\Console\ConsoleOptionParserПереопределяет
Cake\Console\Shell::getOptionParser() main()source public
main( )
Не вызывается оболочкой автодополнения — для любопытных пользователей
Возвращаемое значение
целое число|логическое значениеВозвращает количество байтов, возвращённых при записи в стандартный вывод.
options()source public
options( )
Список опций для указанной команды
Возвращаемое значение
целое число|логическое значение|nullВозвращает количество байтов, возвращённых при записи в стандартный вывод.
startup()source public
startup( )
Не выводит заголовок, переопределяя метод startup
Переопределяет
Cake\Console\Shell::startup() subcommands()source public
subcommands( )
Список подкоманд для указанной команды
Возвращаемое значение
целое число|логическое значение|nullВозвращает количество байтов, возвращённых при записи в стандартный вывод.
Исключения
ReflectionExceptionМетоды, унаследованные от Cake\Console\Shell
__construct()source public
__construct( Cake\Console\ConsoleIo $io = null , Cake\ORM\Locator\LocatorInterface $locator = null )
Создаёт экземпляр этого объекта Shell.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Экземпляр io.
-
Cake\ORM\Locator\LocatorInterface$locatorнеобязательно null - Экземпляр локализации таблиц.
Ссылка
https://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Объект Task
_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необязательно self::CODE_SUCCESS - см. https://secure.php.net/exit для значений
Исключения
Cake\Console\Exception\StopException_validateTasks()source protected
_validateTasks( )
Проверяет, что задачи в карте задач действительно доступны
Исключения
RuntimeExceptionabort()source public
abort( string $message , integer $exitCode = self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение со статусом 1
Параметры
- строка
$message - Сообщение об ошибке
- целое число
$exitCodeoptional self::CODE_ERROR - Код завершения задачи оболочки.
Исключения
Cake\Console\Exception\StopExceptionСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputclear()source public
clear( )
Очистить консоль
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#console-outputcreateFile()source public
createFile( string $path , string $contents )
Создаёт файл по заданному пути
Параметры
- строка
$path - Куда поместить файл.
- строка
$contents - Содержимое для файла.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShell()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-shellerr()source public
err( string|array|null $message = null , integer $newlines = 1 )
Выводит одно или несколько сообщений об ошибке в stderr. Если параметры не переданы, выводится только новая строка.
Параметры
- строка|массив|null
$messageoptional null - Строка или массив строк для вывода
- целое число
$newlinesoptional 1 - Количество новых строк для добавления
Возвращает
целое число|booleanКоличество байт, возвращённых при записи в stderr.
error()source public deprecated
error( string $title , string|null $message = null , integer $exitCode = self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение со статусом 1
Устарело
3.2.0 Используйте Shell::abort() вместо этого.Параметры
- строка
$title - Название ошибки
- строка|null
$messageoptional null - Необязательное сообщение об ошибке
- целое число
$exitCodeoptional self::CODE_ERROR - Код завершения задачи оболочки.
Возвращает
целое числоКод ошибки
Исключения
Cake\Console\Exception\StopExceptionСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputgetIo()source public
getIo( )
Получить объект io для этой оболочки.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
hasMethod()source public
hasMethod( string $name )
Проверить, имеет ли эта оболочка вызываемый метод с данным именем.
Параметры
- строка
$name - Имя метода для проверки.
Возвращает
booleanСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTask()source public
hasTask( string $task )
Проверить, есть ли у этой оболочки задача с указанным именем.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelper()source public
helper( string $name , array $settings = [] )
Отобразить помощника консоли
Создать и отобразить вывод для объекта помощника. Если объект помощника ещё не загружен, он будет загружен и сконструирован.
Параметры
- строка
$name - Имя помощника для отображения
- массив
$settingsoptional [] - Данные конфигурации для помощника.
Возвращает
Cake\Console\HelperСозданный экземпляр помощника.
hr()source public
hr( integer $newlines = 0 , integer $width = 63 )
Выводит последовательность символов минус в стандартный вывод, служит визуальным разделителем.
Параметры
- целое число
$newlinesoptional 0 - Количество новых строк для предварительного и последующего добавления
- целое число
$widthoptional 63 - Ширина строки, по умолчанию 63
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::hrin()source public
in( string $prompt , string|array|null $options = null , string|null $default = null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив|null
$optionsoptional null - Массив или строка параметров.
- строка|null
$defaultoptional null - Значение ввода по умолчанию.
Возвращает
смешанноеЛибо значение по умолчанию, либо введённое пользователем.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::ininfo()source public
info( string|array|null $message = null , integer $newlines = 1 , integer $level = Cake\Shell\Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегами
Параметры
- строка|массив|null
$messageoptional null - Строка или массив строк для вывода
- целое число
$newlinesoptional 1 - Количество новых строк для добавления
- целое число
$leveloptional Cake\Shell\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|booleanКоличество байт, возвращённых при записи в stdout.
См.
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outinitialize()source public
initialize( )
Инициализирует оболочку, действует как конструктор для подклассов, позволяет настроить задачи перед выполнением оболочки
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeio()source public deprecated
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
Возвращает
booleannl()source public
nl( integer $multiplier = 1 )
Возвращает последовательность одной или нескольких строк перевода строки.
Параметры
- целое число
$multiplierнеобязательный 1 - Количество раз, которое последовательность перевода строки должна быть повторена
Возвращает
строкаСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nlout()source public
out( string|array|null $message = null , integer $newlines = 1 , integer $level = Cake\Shell\Shell::NORMAL )
Выводит одно или несколько сообщений в стандартный вывод. Если параметры не переданы, выводится только перевод строки.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::ТИХО, Shell::НОРМАЛЬНО, Shell::ПОЛНОСТЬЮ. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet , присутствующим в большинстве оболочек. Использование Shell::ТИХО для сообщения означает, что оно всегда будет отображаться. Использование Shell::ПОЛНОСТЬЮ означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- строка|массив|null
$messageнеобязательный null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество переводов строк для добавления
- целое число
$levelнеобязательный Cake\Shell\Shell::НОРМАЛЬНО - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный вывод.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outparam()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-consolesetIo()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::shortPathsuccess()source public
success( string|array|null $message = null , integer $newlines = 1 , integer $level = Cake\Shell\Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегами
Параметры
- строка|массив|null
$messageнеобязательный null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество переводов строк для добавления
- целое число
$levelнеобязательный Cake\Shell\Shell::НОРМАЛЬНО - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный вывод.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outverbose()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 - Количество переводов строк для добавления
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный поток ошибок.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::errwrapMessageWithType()source protected устаревшее
wrapMessageWithType( string $messageType , string|array $message )
Оборачивает сообщение с заданным типом сообщения, например.
Устаревшее
3.6.0 Будет удалено в 4.0.0, так как больше не используется.Параметры
- строка
$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\LocatorInterfacesetTableLocator()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 по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, которые использует ваше приложение.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- строка|null
$modelClassнеобязательно null Имя класса модели для загрузки. По умолчанию $this->modelClass. Имя может быть псевдонимом, например,
'Post'или FQCN, например,App\Model\Table\PostsTable::class.- строка|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() |
Подробное описание свойств
Подробное описание магических свойств
$Commandsource
public Cake\Shell\Task\CommandTask
© 2005–present 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.8/class-Cake.Shell.CompletionShell.html