Spec-Zone.ru › CakePHP 2.9

Класс 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

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

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

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

  • __construct() public
    Создает парсер опций, чтобы вы могли определить его поведение.
  • _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
    Статический метод-фабрика для создания новых парсеров опций, с помощью которых вы можете вызывать методы.
  • 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 )

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

Параметры

строка $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 Список допустимых значений для этого аргумента. Если оставлен пустым, все значения допустимы. Исключение будет возбуждено при встрече недопустимого значения в parse().

Параметры

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 — Параметр не использует значение, это просто переключатель. По умолчанию false. Если параметр определён как логический, он всегда будет добавлен в обработанные параметры. Если отсутствует, будет false, если присутствует — true.
  • choices Список допустимых значений для этого параметра. Если оставлен пустым, все значения допустимы. Исключение будет возбуждено при встрече недопустимого значения в parse().

Параметры

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

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

Параметры

  • 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 и $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

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

См. также

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.
https://api.cakephp.org/2.9/class-ConsoleOptionParser.html

Spec-Zone.ru

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