Spec-Zone.ru › CakePHP 2.7

Класс ConsoleOptionParser

Обрабатывает разбор ARGV в командной строке и предоставляет поддержку определения опций, совместимых с GetOpt. Предоставляет реализацию шаблона билдера для создания парсеров опций командной строки.

Опции

Именованные аргументы представлены в двух формах: длинной и короткой. Длинные аргументы предваряются двумя тире и имеют более подробное имя опции. Например: --version. Короткие аргументы предваряются одним тире и имеют длину только один символ. Обычно они соответствуют длинной опции и предоставляют более краткую альтернативу.

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

Опции могут быть определены как в длинной, так и в короткой форме. Используя $parser->addOption(), вы можете определить новые опции. Имя опции используется как ее длинная форма, и вы можете предоставить дополнительную короткую форму, с помощью short опции. Короткие опции должны иметь длину только один символ. Использование более одного символа для короткой опции приведет к исключению.

Вызов опций может быть выполнен с использованием синтаксиса, аналогичного большинству *nix инструментов командной строки. Длинные опции могут включать = или опустить его.

cake myshell command --connection default --name=something

Короткие опции могут быть определены по отдельности или группами.

cake myshell command -cn

Короткие опции могут быть объединены в группы, как показано выше. Каждый символ в группе будет обрабатываться как отдельная опция. Предыдущий пример эквивалентен:

cake myshell command -c -n

Короткие опции также могут принимать значения:

cake myshell command -c default

Позиционные аргументы

Если позиционные аргументы не определены, все они будут обработаны. Если вы определите позиционные аргументы, любые аргументы, превышающие те, которые определены, вызовут исключение. Кроме того, вы можете объявить аргументы необязательными, установив параметр required в значение false.

$parser->addArgument('model', array('required' => false));

Предоставление текста справки

Предоставление текста справки для ваших позиционных аргументов и именованных аргументов позволяет ConsoleOptionParser генерировать отображение справки. Вы можете просмотреть справку для оболочек, используя переключатель --help или -h.

Пакет: Cake\Console
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Console/ConsoleOptionParser.php

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

__constructsource public

__construct( string $command null , boolean $defaultOptions true )

Создайте OptionParser, чтобы определить его поведение

Параметры

строка $command необязательно null
Имя команды, для которой предназначен этот парсер. Имя команды используется для генерации справки.
логическое значение $defaultOptions необязательно true
Указывает, хотите ли вы задать опции verbose и quiet. Установка этого значения в false предотвратит добавление опций --verbose и --quiet.

_nextTokensource protected

_nextToken( )

Найдите следующий токен в наборе argv.

Возвращает

string
следующий токен или ''

_optionExistssource protected

_optionExists( string $name )

Проверьте, определена ли для $name опция (короткая/длинная).

Параметры

строка $name
Имя опции.

Возвращает

boolean
bool

_parseArgsource protected

_parseArg( string $argument , array $args )

Обработайте аргумент и убедитесь, что аргумент не превышает количество аргументов и что аргумент является допустимым выбором.

Параметры

строка $argument
Аргумент для добавления
массив $args
Массив обработанных аргументов для добавления.

Возвращает

array
Args

Исключения

ConsoleException
ConsoleException

_parseLongOptionsource protected

_parseLongOption( string $option , array $params )

Обработать значение длинной опции из $this->_tokens. Обработает опции с = в них.

Параметры

строка $option
Опция для обработки.
массив $params
Параметры для добавления обработанного значения

Возвращает

array
Параметры с добавленной опцией.

_parseOptionsource protected

_parseOption( string $name , array $params )

Обработайте опцию по ее индексу имени.

Параметры

строка $name
Имя для обработки.
массив $params
Параметры для добавления обработанного значения

Возвращает

array
Параметры с добавленной опцией.

Исключения

ConsoleException
ConsoleException

_parseShortOptionsource protected

_parseShortOption( string $option , array $params )

Обработать значение короткой опции из $this->_tokens. Если $option представляет собой комбинацию нескольких сокращений, таких как -otf, они будут перемещены на стек токенов и обработаны индивидуально.

Параметры

строка $option
Опция для обработки.
массив $params
Параметры для добавления обработанного значения

Возвращает

array
Параметры с добавленной опцией.

Исключения

ConsoleException
При обнаружении неизвестных коротких опций.

addArgumentsource public

addArgument( ConsoleInputArgument|string $name , array $params array() )

Добавить позиционный аргумент к парсеру опций.

Параметры

  • help Текст справки для отображения по этому аргументу.
  • required Требуется ли этот параметр.
  • index Индекс для аргумента; если не определен, аргумент будет помещен в конец аргументов. Если вы определены одинаковый индекс дважды, первая опция будет перезаписана.
  • choices Список допустимых значений для этого аргумента. Если оставлено пустым, все значения допустимы. При обработке parse() будет возбуждено исключение при обнаружении недопустимого значения.

Параметры

ConsoleInputArgument|строка $name
Имя аргумента. Также принимает экземпляр ConsoleInputArgument
массив $params необязательно array()
Параметры для аргумента, см. выше.

Возвращает

self
self

addArgumentssource public

addArguments( array $args )

Добавить несколько аргументов сразу. Принимает массив определений аргументов. Ключи используются в качестве имен аргументов, а значения — в качестве параметров аргумента.

Параметры

массив $args
Массив аргументов для добавления.

Возвращает

self
self

См.

ConsoleOptionParser::addArgument()

addOptionsource public

addOption( ConsoleInputOption|string $name , array $options array() )

Добавить опцию к парсеру опций. Опции позволяют определить необязательные или обязательные параметры для вашего консольного приложения. Опции определяются используемыми ими параметрами.

Опции

  • short — Однобуквенный вариант этой опции, оставьте без значения для отсутствия.
  • help — Текст справки для этой опции. Используется при генерации справки для опции.
  • default — Значение по умолчанию для этой опции. Значения по умолчанию добавляются в обработанные параметры, когда присоединенная опция не указана или не имеет значения. Одновременное использование значения по умолчанию и логического значения не работает. Добавляются в обработанные параметры, когда опция не определена. По умолчанию null.
  • boolean — Опция не использует значение, это просто логический переключатель. По умолчанию false. Если опция определена как логическая, она всегда будет добавлена в обработанные параметры. Если отсутствует, будет false, если присутствует, будет true.
  • choices — Список допустимых значений для этой опции. Если оставлено пустым, все значения допустимы. При обработке parse() будет возбуждено исключение при обнаружении недопустимого значения.

Параметры

ConsoleInputOption|строка $name
Длинное имя, которое вы хотите, чтобы значение было обработано как при обработке опций. Также принимает экземпляр ConsoleInputOption
массив $options необязательно array()
Массив параметров, определяющих поведение опции

Возвращает

self
self

addOptionssource public

addOptions( array $options )

Добавить несколько опций сразу. Принимает массив определений опций. Ключи используются в качестве имён опций, а значения — в качестве параметров опции.

Параметры

массив $options
Массив опций для добавления.

Возвращает

self
self

См. также

ConsoleOptionParser::addOption()

addSubcommandsource public

addSubcommand( ConsoleInputSubcommand|string $name , array $options array() )

Добавить подкоманду в список подкоманд. Подкоманды обычно являются методами вашего Shell, но также могут использоваться для документирования задач.

Опции

  • help - Текст справки для подкоманды.
  • parser - ConsoleOptionParser для подкоманды. Это позволяет создавать специфичные для метода парсеры опций. При генерации справки для подкоманды, если парсер присутствует, он будет использован.

Параметры

ConsoleInputSubcommand|строка $name
Имя подкоманды. Также принимает экземпляр ConsoleInputSubcommand
массив $options необязательно массив()
Массив параметров, см. выше.

Возвращает

self
self

addSubcommandssource public

addSubcommands( array $commands )

Добавить сразу несколько подкоманд.

Параметры

массив $commands
Массив подкоманд.

Возвращает

self
self

argumentssource public

arguments( )

Получает аргументы, определённые в парсере.

Возвращает

array
Массив описаний аргументов

buildFromArraysource public static

buildFromArray( array $spec )

Создаёт парсер из массива. Использует массив, подобный

$spec = array(
        'description' => 'text',
        'epilog' => 'text',
        'arguments' => array(
                // list of arguments compatible with addArguments.
        ),
        'options' => array(
                // list of options compatible with addOptions
        ),
        'subcommands' => array(
                // list of subcommands to add.
        )
);

Параметры

массив $spec
Спецификация для создания ConsoleOptionParser.

Возвращает

ConsoleOptionParser
ConsoleOptionParser

commandsource public

command( string $text null )

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

Параметры

строка $text необязательно null
Текст для установки, или null, если нужно считать

Возвращает

string|self
При чтении — значение команды. При установке — $this.

createsource public static

create( string $command , boolean $defaultOptions true )

Статический фабричный метод для создания новых OptionParsers, чтобы вы могли использовать цепочку методов.

Параметры

строка $command
Имя команды, для которой предназначен этот парсер. Имя команды используется для генерации справки.
логическое $defaultOptions необязательно true
Нужно ли устанавливать опции verbose и quiet.

Возвращает

ConsoleOptionParser
ConsoleOptionParser

descriptionsource public

description( string|array $text null )

Получение или установка текстового описания для оболочки/задачи.

Параметры

строка/массив $text необязательно null
Текст для установки, или null при чтении. Если массив, текст будет объединён с помощью "\n"

Возвращает

string|self
Если чтение, то значение описания. Если установка, то $this.

epilogsource public

epilog( string|array $text null )

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

Параметры

строка/массив $text необязательно null
Текст при установке или null при чтении. Если массив, текст будет объединён с помощью "\n"

Возвращает

string|self
При чтении — значение эпилога. При установке — $this.

helpsource public

help( string $subcommand null , string $format 'text' , integer $width 72 )

Получает отформатированную справку для этого объекта парсера. Генерирует текст справки на основе описания, опций, аргументов, подкоманд и эпилога в парсере.

Параметры

строка $subcommand необязательно null
Если присутствует и является валидной подкомандой, у которой есть связанный парсер. Будет показана справка по этой подкоманде.
строка $format необязательно 'text'
Определение формата вывода, может быть text или xml
целое число $width необязательно 72
Ширина для форматирования пользовательского контента. По умолчанию 72

Возвращает

string
Сгенерированная справка.

optionssource public

options( )

Получает определённые опции в парсере.

Возвращает

array
массив

parsesource public

parse( array $argv , string $command null )

Парсит массив argv в набор параметров и аргументов. Если $command не равен null и $command равен подкоманде, у которой есть парсер, будет использован этот парсер для разбора $argv

Параметры

массив $argv
Массив аргументов (argv) для разбора.
строка $command необязательно null
Подкоманда для использования. Если этот параметр является подкомандой, у которой есть парсер, этот парсер будет использован для разбора $argv вместо него.

Возвращает

array
массив($params, $args)

Выбрасывает

ConsoleException
При обнаружении некорректного параметра.

removeSubcommandsource public

removeSubcommand( string $name )

Удаляет подкоманду из парсера опций.

Параметры

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

Возвращает

self
self

subcommandssource public

subcommands( )

Получает массив определённых подкоманд

Возвращает

array
массив

Сводка свойств

$_argssource

protected array

Определения позиционных аргументов.

См.

ConsoleOptionParser::addArgument()
array()

$_commandsource

protected string

Имя команды.

''

$_descriptionsource

protected string

Текст описания — отображается перед опциями при генерации справки

См.

ConsoleOptionParser::description()
null

$_epilogsource

protected string

Текст эпилога — отображается после опций при генерации справки

См.

ConsoleOptionParser::epilog()
null

$_optionssource

protected array

Определения опций.

См.

ConsoleOptionParser::addOption()
array()

$_shortOptionssource

protected string

Карта коротких->длинных опций, генерируемая при использовании addOption()

array()

$_subcommandssource

protected array

Подкоманды для этой оболочки.

См.

ConsoleOptionParser::addSubcommand()
array()

© 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/2.7/class-ConsoleOptionParser.html

Spec-Zone.ru

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