Класс RoutesShell
Предоставляет интерактивные инструменты командной строки для маршрутизации.
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
-
Cake\Shell\RoutesShell
Унаследованные константы
Унаследованные свойства
-
OptionParser,Tasks,_io,_taskMap,args,command,interactive,name,params,plugin,taskNames,tasks_tableLocator_modelFactories,_modelType,modelClass
Краткое описание методов
- _splitArgs() protectedРазделение аргументов командной строки на массив.
- check() publicПроверка URL на применение маршрута.
- generate() publicГенерация URL на основе набора параметров
- getOptionParser() publicПолучить парсер параметров.
- main() public
Переопределяет main() для обработки действия Отображение всех маршрутов в приложении.
Подробное описание методов
_splitArgs()source protected
_splitArgs( array $args )
Разделение аргументов командной строки на массив.
Параметры
- массив
$args - Аргументы для разделения.
Возвращает
массивcheck()source public
check( string $url )
Проверка URL на применение маршрута.
Параметры
- строка
$url - URL для анализа
Возвращает
null|falsegenerate()source public
generate( )
Генерация URL на основе набора параметров
Принимает аргументы в виде пар ключ/значение.
Возвращает
null|falsegetOptionParser()source public
getOptionParser( )
Получить парсер параметров.
Возвращает
Cake\Console\ConsoleOptionParserПереопределяет
Cake\Console\Shell::getOptionParser() main()source public
main( )
Переопределяет main() для обработки действия Отображение всех маршрутов в приложении.
Методы унаследованные от Cake\Console\Shell
__construct()source 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()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния объекта.
Возвращает
массив__get()source public
__get( string $name )
Перегрузка get для ленивой сборки задач
Параметры
- строка
$name - Задача для получения.
Возвращает
Cake\Console\ShellОбъект Task
_displayHelp()source protected
_displayHelp( string $command )
Отображение справки в нужном формате
Параметры
- строка
$command - Команда, для которой требуется справка.
Возвращает
целое число|булевоКоличество байтов, возвращённых из вывода в stdout.
_setOutputLevel()source protected
_setOutputLevel( )
Устанавливает уровень вывода на основе параметров.
Это перенастраивает уровень вывода для out() и настроенное протоколирование stdout/stderr
_stop()source protected
_stop( integer|string $status self::CODE_SUCCESS )
Остановка выполнения текущего скрипта. Вызывает StopException для попытки остановки выполнения.
Параметры
- целое число|строка
$statusнеобязательно self::CODE_SUCCESS - см. http://php.net/exit для значений
Исключения
Cake\Console\Exception\StopExceptionabort()source public
abort( string $message , integer $exitCode self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Параметры
- строка
$message - Сообщение об ошибке
- целое число
$exitCodeнеобязательно self::CODE_ERROR - Код выхода для задачи shell.
Исключения
Cake\Console\Exception\StopExceptionСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputclear()source public
clear( )
Очистить консоль
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#console-outputcreateFile()source public
createFile( string $path , string $contents )
Создаёт файл по заданному пути
Параметры
- строка
$path - Куда поместить файл.
- строка
$contents - Содержание для файла.
Возвращает
булевоУспех
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShell()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-shellerr()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-outputhasMethod()source public
hasMethod( string $name )
Проверяет, есть ли у этого шелла вызываемый метод с заданным именем.
Параметры
- строка
$name - Имя метода для проверки.
Возвращает
булевоСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTask()source public
hasTask( string $task )
Проверяет, есть ли у этого шелла задача с указанным именем.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращает
булевоУспех
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelper()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::hrin()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::ininfo()source public
info( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение между тегами
Параметры
- строка|массив|null
$messageнеобязательный null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество добавляемых символов новой строки
- целое число
$levelнеобязательный Cake\Shell\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|булевоКоличество байтов, возвращённых из записи в stdout.
См. также
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outinitialize()source public
initialize( )
Инициализирует Shell, действует как конструктор для подклассов, позволяет настраивать задачи до выполнения шелла
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeio()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
Возвращает
булевоnl()source public
nl( integer $multiplier 1 )
Возвращает одну или несколько последовательностей символов новой строки.
Параметры
- целое число
$multiplierнеобязательный 1 - Количество повторений последовательности символов новой строки
Возвращает
строкаСсылка
http://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::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве оболочек. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых новых строк
- целое число
$levelнеобязательно Cake\Shell\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный вывод.
Ссылка
http://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 [] )
Выполняет Shell с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Для вызова задач они должны быть представлены как подкоманды. Если вы определяете какие-либо подкоманды, вы должны определить все подкоманды, которые вашей оболочке нужны, независимо от того, являются ли они методами этого класса или методами задач.
Параметры
- массив
$argv - Массив аргументов для запуска оболочки. В этом массиве должно отсутствовать имя оболочки.
- логическое значение
$autoMethodнеобязательно false Установите в значение true, чтобы позволить вызывать любые публичные методы, даже если они не были определены как подкоманды. Это используется ShellDispatcher, чтобы облегчить создание простых оболочек.
- массив
$extraнеобязательно [] Дополнительные параметры, которые вы можете вручную передать оболочке для обработки. Встроенный дополнительный параметр — : -
requested: при использовании предотвращает отображение приветственного сообщения оболочки
Возвращает
целое число|логическое значение|nullСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#the-cakephp-consoleshortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращает
строкаКраткое имя пути
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPathstartup()source public
startup( )
Запускает Shell и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основным выполнением
Переопределите этот метод, если вы хотите удалить приветственную информацию или каким-либо образом изменить поток до команды.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::startupsuccess()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::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный вывод.
См. также
http://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 - Количество добавляемых новых строк
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в stderr.
См. также
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::errwrapText()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.RoutesShell.html