palmtree/argparser

ArgParser component for Palmtree PHP

v2.1.0 2021-03-22 18:03 UTC

This package is auto-updated.

Last update: 2024-11-23 03:02:18 UTC


README

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