public static function buildFromArray($spec, $defaultOptions = true)
    {
        $parser = new static($spec['command'], $defaultOptions);
        if (!empty($spec['arguments'])) {
            $parser->addArguments($spec['arguments']);
        }
        if (!empty($spec['options'])) {
            $parser->addOptions($spec['options']);
        }
        if (!empty($spec['subcommands'])) {
            $parser->addSubcommands($spec['subcommands']);
        }
        if (!empty($spec['description'])) {
            $parser->setDescription($spec['description']);
        }
        if (!empty($spec['epilog'])) {
            $parser->setEpilog($spec['epilog']);
        }

        return $parser;
    }
public static function buildFromArray($spec, $defaultOptions = true)
    {
        $parser = new static($spec['command'], $defaultOptions);
        if (!empty($spec['arguments'])) {
            $parser->addArguments($spec['arguments']);
        }
        if (!empty($spec['options'])) {
            $parser->addOptions($spec['options']);
        }
        if (!empty($spec['subcommands'])) {
            $parser->addSubcommands($spec['subcommands']);
        }
        if (!empty($spec['description'])) {
            $parser->setDescription($spec['description']);
        }
        if (!empty($spec['epilog'])) {
            $parser->setEpilog($spec['epilog']);
        }

        return $parser;
    }
public static function buildFromArray ( $ spec , $ defaultOptions = true ) { $ parser = new static ( $ spec [ 'command' ] , $ defaultOptions ) ; if ( ! empty ( $ spec [ 'arguments' ] ) ) { $ parser -> addArguments ( $ spec [ 'arguments' ] ) ; } if ( ! empty ( $ spec [ 'options' ] ) ) { $ parser -> addOptions ( $ spec [ 'options' ] ) ; } if ( ! empty ( $ spec [ 'subcommands' ] ) ) { $ parser -> addSubcommands ( $ spec [ 'subcommands' ] ) ; } if ( ! empty ( $ spec [ 'description' ] ) ) { $ parser -> setDescription ( $ spec [ 'description' ] ) ; } if ( ! empty ( $ spec [ 'epilog' ] ) ) { $ parser -> setEpilog ( $ spec [ 'epilog' ] ) ; } return $ parser ; }
Build a parser from an array. Uses an array like

```
$spec = [
'description' => 'text',
'epilog' => 'text',
'arguments' => [
// list of arguments compatible with addArguments.
],
'options' => [
// list of options compatible with addOptions
],
'subcommands' => [
// list of subcommands to add.
]
];
```

@param array $spec The spec to build the OptionParser with.
@param bool $defaultOptions Whether you want the verbose and quiet options set.
@return static
Build a parser from an array . Uses an array like