Класс ServerShell
Встроенная оболочка сервера
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
-
Cake\Shell\ServerShell
Краткое описание констант
-
stringDEFAULT_HOST'localhost' -
integerDEFAULT_PORT8765
Унаследованные константы
Краткое описание свойств
-
$_documentRootprotectedкорень документаstring -
$_hostprotectedхост сервераstring -
$_iniPathprotectedпуть к файлам inistring -
$_portprotectedпорт прослушиванияinteger
Унаследованные свойства
-
OptionParser,Tasks,_io,_taskMap,args,command,interactive,name,params,plugin,rootName,taskNames,tasks_tableLocator_modelFactories,_modelType,modelClass
Краткое описание методов
- _welcome() protectedОтображает заголовок для оболочки
- getOptionParser() publicПолучает экземпляр обработчика параметров и настраивает его.
- main() publicПереопределите main() для обработки действия
- startup() public
Запускает оболочку и отображает сообщение приветствия. Позволяет проверять и настраивать перед выполнением команды или основного действия
Подробное описание методов
_welcome()source protected
_welcome( )
Отображает заголовок для оболочки
Переопределяет
Cake\Console\Shell::_welcome() getOptionParser()source public
getOptionParser( )
Получает экземпляр обработчика параметров и настраивает его.
Возвращает
Cake\Console\ConsoleOptionParserПереопределяет
Cake\Console\Shell::getOptionParser() startup()source public
startup( )
Запускает оболочку и отображает сообщение приветствия. Позволяет проверять и настраивать перед выполнением команды или основного действия
Переопределите этот метод, если вы хотите удалить информацию о приветствии или каким-либо другим образом изменить поток до команды.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#hook-methodsПереопределяет
Cake\Console\Shell::startup() Методы, унаследованные от Cake\Console\Shell
__construct()source public
__construct( Cake\Console\ConsoleIo $io = null , Cake\ORM\Locator\LocatorInterface $locator = null )
Создаёт этот экземпляр оболочки.
Параметры
-
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Объект задачи
_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 - Сообщение об ошибке
- целое число
$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 - Содержимое файла.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShell()source public
dispatchShell( )
Пересылает команду другому Shell. Аналогично Object::requestAction(), но предназначено для запуска shell из других shell.
Использование:
С текстовой командой:
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 — успех.
Ссылка
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 - Количество символов новой строки для добавления
Возвращает
целое число|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 - Код возврата для задачи shell.
Возвращает
целое числоКод ошибки
Выбрасывает
Cake\Console\Exception\StopExceptionСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputgetIo()source public
getIo( )
Получить объект io для этого shell.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
hasMethod()source public
hasMethod( string $name )
Проверить, есть ли у этого shell вызываемый метод с заданным именем.
Параметры
- строка
$name - Имя метода для проверки.
Возвращает
booleanСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTask()source public
hasTask( string $task )
Проверить, есть ли у этого shell задача с заданным именем.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelper()source public
helper( string $name , array $settings = [] )
Отобразить Console Helper
Создать и отобразить вывод для объекта helper. Если объект helper ещё не загружен, он будет загружен и создан.
Параметры
- строка
$name - Имя helper для отображения
- массив
$settingsнеобязательно [] - Данные конфигурации для helper.
Возвращает
Cake\Console\HelperСозданный экземпляр 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 - Значение ввода по умолчанию.
Возвращает
смешанный типЛибо значение по умолчанию, либо ввод пользователя.
Ссылка
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 - Уровень вывода сообщения, см. выше.
Возвращает
целое число|booleanКоличество байтов, возвращённых при записи в stdout.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outinitialize()source public
initialize( )
Инициализирует Shell, выступает как конструктор для подклассов, позволяет настроить задачи до выполнения 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 для этого shell.
Устарело
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 означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- целое число
$levelнеобязательно Cake\Shell\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|булевоКоличество байтов, возвращенных при записи в стандартный вывод.
Ссылка
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::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|булевоКоличество байтов, возвращенных при записи в стандартный вывод.
См.
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 deprecated
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.
Параметры
- string
$text - Текст, который нужно отформатировать.
- integer|array
$optionsнеобязательно [] - Массив параметров или целое число для обрезки текста.
Возвращает
stringОбрезанный/отступленный текст
См. также
\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().
Параметры
- 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 - Имя класса.
getModelType()source public
getModelType( )
Получить тип модели, который будет использоваться этим классом
Возвращает
stringloadModel()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 )
Установить или получить тип модели, который будет использоваться этим классом
Устаревший
3.5.0 Используйте getModelType()/setModelType() вместо этого.Параметры
- string|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращает
string|Cake\Datasource\ModelAwareTrait$this
setModelType()source public
setModelType( string $modelType )
Установить тип модели, который будет использоваться этим классом
Параметры
- string
$modelType - Тип модели
Возвращает
$this
Магические методы, унаследованные от Cake\Console\Shell
main() |
Подробное описание свойств
END_OF_DOCUMENT_MARKER
© 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.7/class-Cake.Shell.ServerShell.html