Spec-Zone.ru › CakePHP 2.8

Класс 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
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (http://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
Массив обработанных аргументов для добавления.

Возвращает

массив
Аргументы

Исключения

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 необязательно массив()
Параметры для аргумента, см. выше.

Возвращает

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 необязательно массив()
Массив параметров, определяющих поведение параметра

Возвращает

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 необязательно массив()
Массив параметров, см. выше.

Возвращает

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 необязательно null
Текст для установки или null, если нужно считать

Возвращает

строка|ConsoleOptionParser
Если считывается, значение команды. Если устанавливается, возвращается $this.

create()source public static

create( string $command , boolean $defaultOptions true )

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

Параметры

строка $command
Имя команды, для которой предназначен этот парсер. Имя команды используется для генерации справки.
логическое значение $defaultOptions необязательно 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 и равен подкоманде, имеющей анализатор, будет использоваться этот анализатор для разбора $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

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

См. также

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

Spec-Zone.ru

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