Skip to content

Latest commit

 

History

History
55 lines (40 loc) · 1018 Bytes

README.md

File metadata and controls

55 lines (40 loc) · 1018 Bytes

Palmtree ArgParser

License

Parse an array of arguments and call matching setters and/or merge with default arguments.

Requirements

  • PHP >= 7.1

Installation

Use composer to add the package to your dependencies:

composer require palmtree/argparser

Usage

<?php

use Palmtree\ArgParser\ArgParser;

class SomeClass {
    public static $defaultArgs = [
        'force' => false,
    ];

    private $name;
    private $args = [];

    public function __construct($args = []) {
        $parser = new ArgParser($args);

        $parser->parseSetters($this);
        $this->args = $parser->resolveOptions(static::$defaultArgs);
    }

    public function setName($name) {
        $this->name = $name;
    }
}
<?php
// Calls $obj->setName('Andy') and sets the force arg to true
$obj = new SomeClass([
    'name' => 'Andy',
    'force' => true,
]);

License

Released under the MIT license