Класс ServerShell
Встроенная оболочка сервера
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait, Cake\Log\LogTrait, Cake\Utility\MergeVariablesTrait, Cake\Datasource\ModelAwareTrait
-
Cake\Shell\ServerShell
Подробное описание методов
_welcomesource protected
_welcome( )
Отображает заголовок для оболочки
Переопределяет
Cake\Console\Shell::_welcome() getOptionParsersource public
getOptionParser( )
Получает экземпляр обработчика параметров и настраивает его.
Возвращает
Cake\Console\ConsoleOptionParser\Cake\Console\ConsoleOptionParser
Переопределяет
Cake\Console\Shell::getOptionParser() initializesource public
initialize( )
Переопределяет инициализацию оболочки
Переопределяет
Cake\Console\Shell::initialize() startupsource public
startup( )
Запускает оболочку и отображает сообщение приветствия. Позволяет проверять и настраивать перед выполнением команды или основного метода
Переопределите этот метод, если хотите удалить информацию о приветствии или иначе изменить поток перед командой.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#hook-methodsПереопределяет
Cake\Console\Shell::startup() Наследованные методы от Cake\Console\Shell
__constructsource public
__construct( Cake\Console\ConsoleIo $io null )
Создаёт экземпляр этой оболочки.
Параметры
-
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. Если параметры не переданы, выводит только новую строку.
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых новых строк
errorsource public
error( string $title , string|null $message null )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Параметры
- строка
$title - Заголовок ошибки
- строка|null
$messageнеобязательно null - Необязательное сообщение об ошибке
Возвращает
integerКод ошибки
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputhasMethodsource public
hasMethod( string $name )
Проверяет, содержит ли данная оболочка вызываемый метод с заданным именем.
Параметры
- строка
$name - Имя метода для проверки.
Возвращаемое значение
booleanbool
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTasksource public
hasTask( string $task )
Проверяет, содержит ли данная оболочка задачу с указанным именем.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращаемое значение
booleanУспешно
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelpersource public
helper( string $name , array $settings [] )
Отображение помощника консоли
Создает и отображает вывод для объекта помощника. Если объект помощника еще не загружен, он будет загружен и создан.
Параметры
- строка
$name - Имя помощника для отображения
- массив
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращаемое значение
Cake\Console\HelperСозданный экземпляр помощника.
hrsource 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::hrinsource public
in( string $prompt , string|array|null $options null , string|null $default null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив|null
$optionsнеобязательно null - Массив или строка вариантов.
- строка|null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращаемое значение
mixedЛибо значение по умолчанию, либо ввод пользователя.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::iniosource 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 )
Возвращает последовательность одной или нескольких новой строки.
Параметры
- целое число
$multiplierнеобязательно 1 - Количество повторений последовательности новой строки
Возвращаемое значение
stringстрока
Ссылка
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 )
Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводится только новая строка.
Уровни вывода
Существует 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 - Уровень вывода сообщения, см. выше.
Возвращаемое значение
integer|booleanВозвращает количество байтов, возвращенных при записи в stdout.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outparamsource public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращаемое значение
string|boolean|nullЗначение. Вернет null, если значение не существует.
parseDispatchArgumentssource public
parseDispatchArguments( array $args )
Парсит аргументы для метода dispatchShell().
Параметры
- массив
$args - Аргументы, полученные из метода dispatchShell() с помощью func_get_args()
Возвращаемое значение
arrayПервое значение должно быть массивом аргументов команды. Второе значение должно быть массивом дополнительных параметров для передачи диспетчеру
quietsource public
quiet( string|array $message , integer $newlines 1 )
Вывод на всех уровнях.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество новых строк для добавления
Возвращаемое значение
integer|booleanВозвращает количество байтов, возвращенных при записи в stdout.
runCommandsource public
runCommand( array $argv , boolean $autoMethod false , array $extra [] )
Выполняет оболочку с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Для вызова задач они должны быть представлены как подкоманды. Если вы определили подкоманды, вы должны определить все подкоманды, необходимые вашей оболочке, независимо от того, являются ли они методами этого класса или методами задач.
Параметры
- массив
$argv - Массив аргументов для запуска оболочки. В этом массиве должно отсутствовать имя оболочки.
- логическое значение
$autoMethodнеобязательно false - Установите в true, чтобы разрешить вызов любого публичного метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher для упрощения создания простых оболочек.
- массив
$extraнеобязательно [] - Дополнительные параметры, которые можно вручную передать оболочке для ее обработки. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветственного сообщения оболочки
Возвращаемое значение
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 по мере необходимости. Также может использоваться для загрузки других типов объектов хранилища, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение 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 )
Устанавливает или получает тип модели, который будет использоваться этим классом
Параметры
- строка или null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращаемые значения
string|$this$this
Сводка констант
string | DEFAULT_HOST Хост сервера по умолчанию | 'localhost' |
integer | DEFAULT_PORT Порт прослушивания по умолчанию | 8765 |
Константы, унаследованные от 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 $taskssource
public array
Содержит задачи для загрузки и инициализации.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::$tasks[]
Используемые свойства из Cake\ORM\Locator\LocatorAwareTrait
Используемые свойства из Cake\Datasource\ModelAwareTrait
$modelClasssource
public string
Основное имя класса модели этого объекта. Должно быть во множественном числе. CakePHP не будет склонять имя.
Пример: Для объекта с именем 'Comments', моделью будет 'Comments'. Классы плагинов должны использовать имена в стиле 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.ServerShell.html