Start Project Command Line Tool use PHP with Silly CLI micro-framework based on Symfony Console
Buy me a coffee: https://paypal.me/nguyenanhung
| Key | Value |
|---|---|
| Project | Command Line Tool |
| Framework | Silly CLI micro-framework |
| GitHub | https://github.com/bear8421/command-line-tool |
| Packagist | https://packagist.org/packages/bear8421/command-line-tool |
Run this command from the directory in which you want to install your new CLI micro-framework application.
composer create-project bear8421/command-line-tool [my-app-name]or
php composer.phar create-project bear8421/command-line-tool [my-app-name]Replace [my-app-name] with the desired directory name for your new application.
Create TestCommand in namespace Bear\App\Command
class TestCommand
{
public function __invoke($name, $upper, OutputInterface $output)
{
if ($name) {
$text = 'Hello, Iam ' . $name;
$output->writeln("Bear");
} else {
$text = 'Hello, Iam. BEAR';
}
if ($upper) {
$text = strtoupper($text);
}
$output->writeln($text);
}
}And declare Command in Bear in bear file in root folder
#!/usr/bin/env php
<?php
if (php_sapi_name() !== 'cli') {
exit;
}
// Register Application Space
define('BEAR', $_SERVER['BEAR_ENV'] ?? 'production');
// Includes Composer Vendor Packages
require_once __DIR__ . '/vendor/autoload.php';
use Silly\Edition\PhpDi\Application;
use Bear\App\Command\TestCommand;
$app = new Application();
$app->setName(ENV_APP_NAME);
// Routes list Command
$app->command(parseExpressionOptions('greet', [
'u|upper',
'r|randomFaker'
]), TestCommand::class)->descriptions(TestCommand::$desc, TestCommand::$optionsInfo);
try {
$app->run();
}
catch (Exception $e) {
echo $e->getMessage();
}Running the application is the same as running any other Symfony Console application:
$ php bear greet
Hello
$ php bear greet vietnam --upper
HELLO JOHN
$ php bear greet --upper vietnam
HELLO JOHN
Silly\Application extends Symfony\Console\Application and can be used wherever Symfony's Application can.
export PATH="/your/path/bin:$PATH"source ~/.bash_profilehoặc
source ~/.zshrcbear greet --upper vietnamAlso see Official Document here: https://github.com/bear8421/command-line-tool/tree/main/docs
If any question & request, please contact following information
| Name | GitHub | ||
|---|---|---|---|
| Hung Nguyen | dev@nguyenanhung.com | @nguyenanhung | @nguyenanhung |
From Hanoi with Love ❤️