1. Go to this page and download the library: Download hhpack/getopt library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hhpack / getopt example snippets
hack
use HHPack\Getopt as cli;
final class Options {
public bool $help = false;
public bool $version = false;
public string $fileName = 'test';
}
$options = new Options();
$parser = cli\optparser([
cli\take_on([ '-n', '--name' ], 'NAME', 'file name', ($name) ==> { $options->fileName = $name; }),
cli\on([ '-h', '--help' ], 'display help message', () ==> { $options->help = true; }),
cli\on([ '-v', '--version' ], 'display version', () ==> { $options->version = true; })
]);
$args = $parser->parse($argv);
if ($options->help === true) {
echo 'help on', PHP_EOL;
}
if ($options->version === true) {
echo 'version on', PHP_EOL;
}
if ($options->fileName !== 'test') {
echo 'name = ', $fileName, PHP_EOL;
}
hack
use HHPack\Getopt as cli;
use HHPack\Getopt\App\{ ArgumentParser };
final class CliApplication
{
private bool $help = false;
private bool $version = false;
private string $fileName = 'test';
private ArgumentParser $argParser;
public function __construct()
{
$this->argParser = cli\app('example', '1.0.0')
->description("This cli application is example.\n\n")
->usage(" {app.name} [OPTIONS]\n\n")
->options([
cli\on(['-h', '--help'], 'display help message', () ==> {
$this->help = true;
}),
cli\on(['-v', '--version'], 'display version', () ==> {
$this->version = true;
}),
cli\take_on(['-n', '--name'], 'NAME', 'file name', ($name) ==> {
$this->fileName = $name;
})
]);
}
public function run(Traversable<string> $argv): void
{
$this->argParser->parse($argv);
if ($this->help) {
$this->argParser->displayHelp();
} else if ($this->version) {
$this->argParser->displayVersion();
} else {
echo "file name: ", $this->fileName, PHP_EOL;
}
}
}
(new CliApplication())->run($argv);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.