Spec-Zone.ru › CakePHP 3.1

Класс Shell

Базовый класс для утилит командной строки для автоматизации задач программиста.

Эквивалент Cake\Controller\Controller в командной строке.

Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait, Cake\Log\LogTrait, Cake\Utility\MergeVariablesTrait, Cake\Datasource\ModelAwareTrait

Непосредственные подклассы

Cake\Shell\CommandListShell, Cake\Shell\CompletionShell, Cake\Shell\Task\LoadTask, Cake\Shell\Task\UnloadTask, Cake\Shell\I18nShell, Cake\Shell\OrmCacheShell, Cake\Shell\PluginShell, Cake\Shell\RoutesShell, Cake\Shell\ServerShell, Cake\Shell\Task\AssetsTask, Cake\Shell\Task\CommandTask, Cake\Shell\Task\ExtractTask
Пространство имен: Cake\Console
Расположение: Console/Shell.php

Подробное описание методов

__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
Объект Task

_displayHelpsource protected

_displayHelp( string $command )

Выводит справку в правильном формате

Параметры

строка $command
Команда для получения справки.

Возвращает

integer|boolean
int|bool

_setOutputLevelsource protected

_setOutputLevel( )

Устанавливает уровень вывода на основе параметров.

Это переконфигурирует уровень вывода для out() и настроенное протоколирование stdout/stderr.

_stopsource protected

_stop( integer|string $status 0 )

Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.

Параметры

целое число|строка $status необязательно 0
см. http://php.net/exit для значений

_welcomesource protected

_welcome( )

Отображает заголовок для shell

clearsource public

clear( )

Очистить консоль

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#console-output

createFilesource public

createFile( string $path , string $contents )

Создаёт файл по заданному пути

Параметры

строка $path
Куда поместить файл.
строка $contents
Содержание для файла.

Возвращает

boolean
Успех

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#creating-files

dispatchShellsource public

dispatchShell( )

Перенаправляет команду в другую Shell. Похоже на Object::requestAction(), но предназначено для запуска shell из других shell.

Использование:

С строковой командой:

return $this->dispatchShell('schema create DbAcl');

Избегайте использования этого формата, если у вас есть строковые аргументы со пробелами в них. Вызванная shell будет неправильно запущена. Используйте только этот формат для простого перенаправления команд.

С массивом команд:

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
Результат выполнения другой shell.

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#invoking-other-shells-from-your-shell

errsource 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-output

getOptionParsersource public

getOptionParser( )

Получает экземпляр обработчика опций и настраивает его.

Переопределив этот метод, вы можете настроить ConsoleOptionParser перед его возвращением.

Возвращает

Cake\Console\ConsoleOptionParser
\Cake\Console\ConsoleOptionParser

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#configuring-options-and-generating-help

hasMethodsource public

hasMethod( string $name )

Проверяет, имеет ли этот shell вызываемый метод с заданным именем.

Параметры

строка $name
Имя метода для проверки.

Возвращает

boolean
bool

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-tasks

hasTasksource public

hasTask( string $task )

Проверить, есть ли у этого шелла задача с указанным именем.

Параметры

строка $task
Имя задачи для проверки.

Возвращает

boolean
Успешно

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-tasks

helpersource 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::hr

insource 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::in

initializesource public

initialize( )

Инициализирует Shell, действует как конструктор для подклассов, позволяет настроить задачи до выполнения шелла.

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initialize

iosource public

io( Cake\Console\ConsoleIo $io null )

Получить/установить объект io для этого шелла.

Параметры

Cake\Console\ConsoleIo $io необязательно null
Объект ConsoleIo для использования.

Возвращает

Cake\Console\ConsoleIo
Текущий объект ConsoleIo.

loadTaskssource public

loadTasks( )

Загружает задачи, определенные в public $tasks

Возвращает

boolean
bool

nlsource public

nl( integer $multiplier 1 )

Возвращает одну или несколько последовательностей переводов строки.

Параметры

целое число $multiplier необязательно 1
Число повторений последовательности перевода строки

Возвращает

string
строка

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nl

outsource public

out( string|array|null $message null , integer $newlines 1 , integer $level Cake\Console\Shell::NORMAL )

Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводится только перевод строки.

Уровни вывода

Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве шеллов. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::VERBOSE означает, что оно будет отображаться только при включенном режиме verbose.

Параметры

строка/массив/null $message необязательно null
Строка или массив строк для вывода
целое число $newlines необязательно 1
Количество переводов строк для добавления
целое число $level необязательно Cake\Console\Shell::NORMAL
Уровень вывода сообщения, см. выше.

Возвращает

integer|boolean
Возвращает количество байт, возвращенных из записи в stdout.

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::out

paramsource 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 [] )

Выполняет Shell с предоставленным 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-console
END_OF_DOCUMENT_MARKER

shortPathsource public

shortPath( string $file )

Делает абсолютный путь к файлу более читаемым

Параметры

строка $file
Абсолютный путь к файлу

Возвращает

string
короткий путь

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPath

startupsource public

startup( )

Инициализирует Shell и отображает приветственное сообщение. Позволяет проверить и настроить параметры перед выполнением команды или основной логики.

Переопределите этот метод, если хотите убрать приветственное сообщение или изменить порядок действий перед выполнением команды.

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::startup

verbosesource 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 )

Установить или получить тип модели, который будет использоваться этим классом

Параметры

строка|null $modelType необязательно null
Тип модели или null для получения текущего

Возвращает

string|$this
$this

Краткое описание констант

integer CODE_ERROR

Код ошибки по умолчанию

1
integer NORMAL

Постоянная для создания обычных оболочек.

Cake\Console\ConsoleIo::NORMAL
integer QUIET

Постоянные для создания бесшумных оболочек.

Cake\Console\ConsoleIo::QUIET
integer VERBOSE

Постоянная для создания подробных оболочек.

Cake\Console\ConsoleIo::VERBOSE

Краткое описание свойств

$OptionParsersource

public Cake\Console\ConsoleOptionParser

Экземпляр ConsoleOptionParser, настроенный для данного класса.

$Taskssource

public Cake\Console\TaskRegistry

Коллекция задач для команды, используемая для создания задач.

$_iosource

protected Cake\Console\ConsoleIo

Экземпляр ConsoleIo.

$_taskMapsource

protected array

Нормализованная карта задач.

[]

$argssource

public array

Содержит аргументы, разобранные из командной строки.

[]

$commandsource

public string

Команда (метод/задача), которая выполняется.

$interactivesource

public boolean

Если true, скрипт запросит разрешение на выполнение действий.

true

$namesource

public string

Имя оболочки в камелизированном формате.

null

$paramssource

public array

Содержит переключатели команд, разобранные из командной строки.

[]

$pluginsource

public string

Имя плагина, к которому относится оболочка. Автоматически устанавливается ShellDispatcher при создании оболочки.

null

$taskNamessource

public array

Содержит загруженные задачи.

[]

$taskssource

public array

Содержит задачи для загрузки и инициализации.

Ссылка

http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::$tasks
[]

Свойства, используемые из Cake\ORM\Locator\LocatorAwareTrait

$_tableLocatorsource

protected Cake\ORM\Locator\LocatorInterface

Экземпляр локатора таблиц.

Свойства, используемые из Cake\Datasource\ModelAwareTrait

$_modelFactoriessource

protected array

Список функций фабрик моделей.

[]

$_modelTypesource

protected string

Тип модели для использования.

'Table'

$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.Console.Shell.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API