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_profile
hoặc
source ~/.zshrc
bear greet --upper vietnam
Also 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 ❤️