Aplicativos PHP CLI simples

https://github.com/nategood/commando

Commando é uma biblioteca de interface de linha de comando PHP que embeleza e simplifica a escrita de scripts PHP destinados ao uso em linha de comando.

Oferece suporte à geração de ajuda integrada, análise de opção limpa, validação, mapeamento de dados e muito mais. Aqui está um exemplo que cobre muitas das coisas que você pode fazer com o Comando …

<?php

$hello_cmd
= new Command();

// Define first option
$hello_cmd
->option()
->require()
->describedAs('A person's name');

// Define a flag "-t" a.k.a. "--title"
$hello_cmd
->option('t')
->aka('title')
->describedAs('When set, use this title to address the person')
->must(function($title) {
$titles
= array('Mr','Mrs','Ms');
return in_array($title, $titles);
})
->map(function($title) {
$titles
= array(
'Mister' => 'Mr',
'Misses' => 'Mrs',
'Miss' => 'Ms'
);
if (array_key_exists($title, $titles))
$title
= $titles[$title];
return "$title. ";
});

// Define a boolean flag "-c" aka "--capitalize"
$hello_cmd
->option('c')
->aka('capitalize')
->aka('cap')
->describedAs('Always capitalize the words in a name')
->boolean();

$name
= $hello_cmd['capitalize'] ?
ucwords
($hello_cmd[0]) : $hello_cmd[0];

echo
"Hello {$hello_cmd['title']}$name!", PHP_EOL;