Класс 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,rootName,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 для разбора
Возвращает
булево значениеУспех
generate()source public
generate( )
Генерирует URL на основе набора параметров
Принимает переменное количество аргументов типа ключ/значение.
Возвращает
булево значениеУспех
getOptionParser()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.
Ссылка
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Объект задачи
_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\StopExceptionabort()source public
abort( string $message , integer $exitCode self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение со статусом 1
Параметры
- строка
$message - Сообщение об ошибке
- целое число
$exitCodeнеобязательно 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 - Содержимое для размещения в файле.
Возвращает
булево значениеУспех
Ссылка
https://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'] ]);
Возвращает
integerКод завершения командной строки. 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
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых новых строк
Возвращает
integer|booleanКоличество байтов, возвращённых из записи в 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 - Код выхода для задачи оболочки.
Возвращает
integerКод ошибки
Вызывает
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 - Имя помощника для вывода
- массив
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращает
Cake\Console\HelperСозданный экземпляр помощника.
hr()source public
hr( integer $newlines 0 , integer $width 63 )
Выводит серию символов минус в стандартный вывод, выполняет функцию визуального разделителя.
Параметры
- целое число
$newlinesнеобязательно 0 - Количество новых строк для добавления в начало и конец
- целое число
$widthнеобязательно 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
$optionsнеобязательно null - Массив или строка опций.
- строка|null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
mixedЗначение по умолчанию или введённое пользователем.
Ссылка
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
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых новых строк
- целое число
$levelнеобязательно Cake\Shell\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanКоличество байтов, возвращённых из записи в stdout.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outinitialize()source public
initialize( )
Инициализирует Shell, действует как конструктор для подклассов, позволяет настроить задачи перед выполнением оболочки
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeio()source public
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::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\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращаемое значение
integer|booleanКоличество байтов, возвращенных при записи в стандартный вывод.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outparam()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 - Массив аргументов для выполнения оболочки. В этом массиве должно отсутствовать имя оболочки.
- boolean
$autoMethodнеобязательно false Установите в значение true, чтобы позволить вызывать любой публичный метод, даже если он не был определен как подкоманда. Это используется ShellDispatcher для простого создания оболочек.
- array
$extraнеобязательно [] Дополнительные параметры, которые вы можете вручную передать оболочке для обработки. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветственного сообщения оболочки.
Возвращаемое значение
integer|boolean|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 )
Устанавливает имя корневой команды для вывода справки.
Параметры
- string
$name - Имя корневой команды.
Возвращаемое значение
$this
shortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым.
Параметры
- string
$file - Абсолютный путь к файлу
Возвращаемое значение
stringКороткий путь
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPathstartup()source public
startup( )
Запускает Shell и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основным выполнением
Переопределите этот метод, если хотите удалить приветственную информацию или иначе изменить поток до команды.
Ссылка
https://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(), который оборачивает сообщение тегом
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество добавляемых новых строк
- integer
$levelнеобязательно Cake\Shell\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращаемое значение
integer|booleanКоличество байтов, возвращенных при записи в стандартный вывод.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outverbose()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Количество байтов, возвращенных при записи в stderr.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::errwrapMessageWithType()source protected
wrapMessageWithType( string $messageType , string|array $message )
Оборачивает сообщение с заданным типом сообщения, например
Параметры
- string
$messageType - Тип сообщения, например "предупреждение".
- string|array
$message - Сообщение для обертывания.
Возвращаемое значение
array|stringСообщение, обернутое с заданным типом сообщения.
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необязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
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 - Имя класса.
getModelType()source public
getModelType( )
Получает тип модели, который будет использоваться этим классом
Возвращает
строка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 )
Установите или получите тип модели, который будет использоваться этим классом.
Устарело
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() |
© 2005–2018 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.5/class-Cake.Shell.RoutesShell.html