Spec-Zone.ru › CakePHP 2.10

Класс 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. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Console/ConsoleOptionParser.php

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

  • $_args protected
    array
    Определения позиционных аргументов.
  • $_command protected
    string
    Имя команды.
  • $_description protected
    string
    Текст описания — отображается перед опциями при генерации справки
  • $_epilog protected
    string
    Текст эпилога — отображается после опций при генерации справки
  • $_options protected
    array
    Определения опций.
  • $_shortOptions protected
    string
    Маппинг коротких -> длинных опций, генерируется при использовании addOption()
  • $_subcommands protected
    array
    Подкоманды для этой оболочки.

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

  • __construct() public
    Конструктор OptionParser для определения его поведения
  • _nextToken() protected
    Поиск следующего токена в наборе argv.
  • _optionExists() protected
    Проверка наличия опции (короткой/длинной) для $name.
  • _parseArg() protected

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

  • _parseLongOption() protected

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

  • _parseOption() protected
    Обработка опции по ее индексу имени.
  • _parseShortOption() protected

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

  • addArgument() public
    Добавление позиционного аргумента в парсер опций.
  • addArguments() public

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

  • addOption() public

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

  • addOptions() public

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

  • addSubcommand() public

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

  • addSubcommands() public
    Добавление нескольких подкоманд одновременно.
  • arguments() public
    Получение аргументов, определенных в парсере.
  • buildFromArray() public static
    Построение парсера из массива. Использует массив, похожий на
  • command() public
    Получение или установка имени команды для оболочки/задачи.
  • create() public static
    Статический фабричный метод для создания новых OptionParser, позволяющий цепочить методы.
  • description() public
    Получение или установка текста описания для оболочки/задачи.
  • epilog() public

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

  • help() public

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

  • options() public
    Получение определенных опций в парсере.
  • parse() public

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

  • removeSubcommand() public
    Удаление подкоманды из парсера опций.
  • subcommands() public
    Получение массива определенных подкоманд

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

__construct()source public

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

Конструктор OptionParser для определения его поведения

Параметры

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

Указывает, хотите ли вы установить опции verbose и quiet. Установка значения в false предотвратит добавление --verbose & --quiet опций.

_nextToken()source protected

_nextToken( )

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

Возвращает

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

_optionExists()source protected

_optionExists( string $name )

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

Параметры

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

Возвращает

логическое значение
END_OF_DOCUMENT_MARKER

_parseArg()source protected

_parseArg( string $argument , array $args )

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

Параметры

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

Возвращает

массив
Args

Выбрасывает

ConsoleException

_parseLongOption()source protected

_parseLongOption( string $option , array $params )

Обработать значение для длинного параметра из $this->\_tokens. Будет обрабатывать параметры с = в них.

Параметры

строка $option
Параметр для обработки.
массив $params
Массив параметров, в который нужно добавить обработанное значение.

Возвращает

массив
Параметры с добавленным $option.

_parseOption()source protected

_parseOption( string $name , array $params )

Обработать параметр по его индексу имени.

Параметры

строка $name
Имя для обработки.
массив $params
Массив параметров, в который нужно добавить обработанное значение.

Возвращает

массив
Параметры с добавленным $option.

Выбрасывает

ConsoleException

_parseShortOption()source protected

_parseShortOption( string $option , array $params )

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

Параметры

строка $option
Параметр для обработки.
массив $params
Массив параметров, в который нужно добавить обработанное значение.

Возвращает

массив
Параметры с добавленным $option.

Выбрасывает

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

addArgument()source public

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

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

Параметры

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

Параметры

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

Возвращает

ConsoleOptionParser

addArguments()source public

addArguments( array $args )

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

Параметры

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

Возвращает

ConsoleOptionParser

См. также

ConsoleOptionParser::addArgument()

addOption()source public

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

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

Параметры

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

Параметры

ConsoleInputOption|строка $name

Длинное имя, которое нужно использовать для значения, которое будет обработано при обработке параметров. Также принимает экземпляр ConsoleInputOption

массив $options optional array()
Массив параметров, определяющих поведение параметра

Возвращает

ConsoleOptionParser

addOptions()source public

addOptions( array $options )

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

Параметры

массив $options
Массив добавляемых параметров.

Возвращает

ConsoleOptionParser

См. также

ConsoleOptionParser::addOption()

addSubcommand()source public

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

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

Параметры

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

Параметры

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

Возвращает

ConsoleOptionParser

addSubcommands()source public

addSubcommands( array $commands )

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

Параметры

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

Возвращает

ConsoleOptionParser

arguments()source public

arguments( )

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

Возвращает

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

buildFromArray()source 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
Спецификация для создания OptionParser.

Возвращает

ConsoleOptionParser

command()source public

command( string $text null )

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

Параметры

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

Возвращает

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

create()source public static

create( string $command , boolean $defaultOptions true )

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

Параметры

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

Возвращает

ConsoleOptionParser
END_OF_DOCUMENT_MARKER

description()source public

description( string|array $text null )

Получить или установить текст описания для командной строки/задачи.

Параметры

string|array $text необязательно null

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

Возвращает

string|ConsoleOptionParser
При чтении, значение описания. При установке возвращается $this.

epilog()source public

epilog( string|array $text null )

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

Параметры

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

Возвращает

string|ConsoleOptionParser
При чтении, значение эпилога. При установке возвращается $this.

help()source public

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

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

Параметры

string $subcommand необязательно null

Если присутствует и является допустимой подкомандой, которая имеет связанный парсер. Вместо этого будет показана справка по этой подкоманде.

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

Возвращает

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

options()source public

options( )

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

Возвращает

array

parse()source public

parse( array $argv , string $command null )

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

Параметры

array $argv
Массив аргументов (argv) для обработки.
string $command необязательно null

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

Возвращает

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

Выбрасывает

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

removeSubcommand()source public

removeSubcommand( string $name )

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

Параметры

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

Возвращает

ConsoleOptionParser

subcommands()source 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

Подкоманды для этого Shell.

См.

ConsoleOptionParser::addSubcommand()
array()

© 2005–2017 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/2.10/class-ConsoleOptionParser.html

Spec-Zone.ru

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