Класс CompletionShell
Обеспечивает оболочки командной строки, такие как bash.
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait, Cake\Log\LogTrait, Cake\Utility\MergeVariablesTrait, Cake\Datasource\ModelAwareTrait
-
Cake\Shell\CompletionShell
Подробное описание методов
_outputsource protected
_output( array $options [] )
Вывести результаты в виде строки, разделённой пробелами
Параметры
- массив
$optionsнеобязательно [] - Опции вывода
Возвращает
integer|boolean|nullВозвращает количество байтов, возвращённых при записи в стандартный вывод.
commandssource public
commands( )
список команд
Возвращает
integer|boolean|nullВозвращает количество байтов, возвращённых при записи в стандартный вывод.
fuzzysource public
fuzzy( )
Предсказание автодополнения по всей строке аргументов
Возвращает
integer|boolean|nullВозвращает количество байтов, возвращённых при записи в стандартный вывод.
getOptionParsersource public
getOptionParser( )
Получает экземпляр парсера опций и настраивает его.
Возвращает
Cake\Console\ConsoleOptionParser\Cake\Console\ConsoleOptionParser
Переопределяет
Cake\Console\Shell::getOptionParser() mainsource public
main( )
Не вызывается оболочкой автодополнения — для любопытных пользователей
Возвращает
integer|booleanВозвращает количество байтов, возвращённых при записи в стандартный вывод.
optionssource public
options( )
список опций для указанной команды
Возвращает
integer|boolean|nullВозвращает количество байтов, возвращённых при записи в стандартный вывод.
startupsource public
startup( )
Не выводить заголовок, переопределяя метод startup
Переопределяет
Cake\Console\Shell::startup() subcommandssource public
subcommands( )
список подкоманд для указанной команды
Возвращает
integer|boolean|nullВозвращает количество байтов, возвращённых при записи в стандартный вывод.
Методы, унаследованные от Cake\Console\Shell
__constructsource 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__debugInfosource public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
arrayмассив
__getsource public
__get( string $name )
Перегрузка get для ленивого создания задач
Параметры
- строка
$name - Задача, которую нужно получить.
Возвращает
Cake\Console\ShellОбъект задачи
_displayHelpsource protected
_displayHelp( string $command )
Выводит справку в правильном формате
Параметры
- строка
$command - Команда, для которой требуется справка.
Возвращает
integer|booleanint|bool
_setOutputLevelsource protected
_setOutputLevel( )
Устанавливает уровень вывода на основе параметров.
Это переконфигурирует уровень вывода для out() и настроенные логирование stdout/stderr
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что облегчает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
clearsource public
clear( )
Очистить консоль
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#console-outputcreateFilesource public
createFile( string $path , string $contents )
Создаёт файл по заданному пути
Параметры
- строка
$path - Куда поместить файл.
- строка
$contents - Содержимое для файла.
Возвращает
booleanУспешно
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShellsource 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-shellerrsource public
err( string|array|null $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводится только новая строка.
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество новых строк для добавления
errorsource public
error( string $title , string|null $message null )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Параметры
- string
$title - Заголовок ошибки
- string|null
$messageнеобязательно null - Необязательное сообщение об ошибке
Возвращает
integerКод ошибки
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputhasMethodsource public
hasMethod( string $name )
Проверка наличия вызываемого метода с данным именем в этом шелле.
Параметры
- string
$name - Имя проверяемого метода.
Возвращает
booleanbool
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTasksource public
hasTask( string $task )
Проверка наличия задачи с заданным именем в этом шелле.
Параметры
- string
$task - Имя проверяемой задачи.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelpersource public
helper( string $name , array $settings [] )
Отображение помощника консоли
Создаёт и отображает вывод для объекта помощника. Если объект помощника ещё не загружен, он будет загружен и сконструирован.
Параметры
- string
$name - Имя помощника для отображения
- array
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращает
Cake\Console\HelperСозданный экземпляр помощника.
hrsource public
hr( integer $newlines 0 , integer $width 63 )
Выводит последовательность символов «минус» в стандартный вывод, служит визуальным разделителем.
Параметры
- integer
$newlinesнеобязательно 0 - Количество новых строк для добавления до и после
- integer
$widthнеобязательно 63 - Ширина линии, по умолчанию 63
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::hrinsource 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Значение по умолчанию или введенное пользователем.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::ininitializesource public
initialize( )
Инициализирует шелл, выступает в качестве конструктора для подклассов, позволяет настроить задачи перед выполнением шелла.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeiosource public
io( Cake\Console\ConsoleIo $io null )
Получение/Установка объекта io для этого шелла.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Объект ConsoleIo для использования.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
loadTaskssource public
loadTasks( )
Загружает задачи, определённые в public $tasks
Возвращает
booleanbool
nlsource public
nl( integer $multiplier 1 )
Возвращает последовательность одной или нескольких новых строк.
Параметры
- integer
$multiplierнеобязательно 1 - Количество повторений последовательности новых строк
Возвращает
stringstring
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nloutsource public
out( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Shell::NORMAL )
Выводит одно или несколько сообщений в стандартный вывод. Если параметры не переданы, выводится только новая строка.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::ТИХО, Shell::НОРМАЛЬНО, Shell::ПОДРОБНО. Уровни вывода подробности и тишины соответствуют переключателям вывода verbose и quiet , присутствующим в большинстве шеллов. Использование Shell::ТИХО для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::ПОДРОБНО означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество новых строк для добавления
- integer
$levelнеобязательно Cake\Shell\Shell::НОРМАЛЬНО - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanВозвращает количество байтов, возвращённых при записи в stdout.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outparamsource public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- string
$name - Имя параметра для получения.
Возвращает
string|boolean|nullЗначение. Вернёт null, если не существует.
parseDispatchArgumentssource public
parseDispatchArguments( array $args )
Разбирает аргументы для метода dispatchShell().
Параметры
- array
$args - Аргументы, полученные из метода dispatchShell() с помощью func_get_args()
Возвращает
arrayПервое значение должно быть массивом аргументов команды. Второе значение должно быть массивом дополнительных параметров для передачи диспетчеру
quietsource public
quiet( string|array $message , integer $newlines 1 )
Вывод на всех уровнях.
Параметры
- string|array
$message - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество новых строк для добавления
Возвращает
integer|booleanВозвращает количество байтов, возвращённых при записи в stdout.
runCommandsource public
runCommand( array $argv , boolean $autoMethod false , array $extra [] )
Выполняет Shell с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в shell.
- Соответствующее имя задачи.
-
main()метод.
Если shell реализует main() метод, все отсутствующие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Для вызова задач они должны быть представлены в качестве подкоманд. Если вы определяете какие-либо подкоманды, вы должны определить все подкоманды, необходимые вашему shell, независимо от того, являются ли они методами этого класса или методами задач.
Параметры
- массив
$argv - Массив аргументов для запуска shell. В этом массиве должно отсутствовать имя shell.
- логический
$autoMethodнеобязательно false - Установите в значение true, чтобы разрешить вызов любого публичного метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher для упрощения создания простых shell.
- массив
$extraнеобязательно [] - Дополнительные параметры, которые вы можете вручную передать в Shell для обработки. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветственного сообщения Shell.
Возвращает
mixedсмешанный тип
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#the-cakephp-consoleshortPathsource public
shortPath( string $file )
Делает абсолютный путь к файлу более читабельным
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращает
stringсокращённый путь
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPathverbosesource public
verbose( string|array $message , integer $newlines 1 )
Вывод на уровне подробности.
Параметры
- строка или массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanВозвращает количество байтов, возвращённых при записи в стандартный вывод.
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 Table, как требуется. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- строка или null
$modelClassнеобязательно null - Имя класса модели для загрузки. По умолчанию $this->modelClass
- строка или null
$modelTypeнеобязательно null - Тип репозитория для загрузки. По умолчанию значение modelType().
Возвращает
objectЭкземпляр созданной модели.
Выбрасывает
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentExceptionПри использовании типа, который не был зарегистрирован.
UnexpectedValueExceptionЕсли тип модели не определён
modelFactorysource public
modelFactory( string $type , callable $factory )
Регистрация вызываемого объекта для генерации репозиториев заданного типа.
Параметры
- строка
$type - Имя типа репозитория, для которого предназначена функция фабрики.
- вызываемый объект
$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
Коллекция задач для команды, используемая для создания задач.
$interactivesource
public boolean
Если true, скрипт запросит разрешение на выполнение действий.
true $pluginsource
public string
Имя плагина, к которому принадлежит оболочка. Автоматически устанавливается ShellDispatcher при создании оболочки.
null Свойства, используемые из Cake\ORM\Locator\LocatorAwareTrait
Свойства, используемые из Cake\Datasource\ModelAwareTrait
$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.CompletionShell.html