bear8421 / command-line-tool
Base Command Line Tool use Silly CLI micro-framework based on Symfony Console
Package info
github.com/bear8421/command-line-tool
Type:project
pkg:composer/bear8421/command-line-tool
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- nguyenanhung/console: ^1.0
Requires (Dev)
- fakerphp/faker: ^1.9
- nguyenanhung/framework: ^1.0
- pheromone/phpcs-security-audit: ^2.0
- roave/security-advisories: dev-latest
Suggests
- ext-curl: Needs for support CURL
- ext-json: Needs for support JSON
- ext-simplexml: Needs for support SimpleXML
- ext-xml: Needs for support XML
- nguyenanhung/database: Needs for support Database
- nguyenanhung/monitor: Needs for support Monitoring Service
- nguyenanhung/my-cache: Needs for support Cache
- nguyenanhung/my-debug: Needs for support Logger
- nguyenanhung/requests: Needs for support Request use CURL
- pheromone/phpcs-security-audit: phpcs-security-audit is a set of PHP_CodeSniffer rules that finds vulnerabilities and weaknesses related to security in PHP coder
Provides
None
Conflicts
None
Replaces
None
README
Start Project Command Line Tool use PHP with Silly CLI micro-framework based on Symfony Console
Donate Me
Buy me a coffee: https://paypal.me/nguyenanhung
Summary
| 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 |
Install the Application
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.
Usage
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.
Binaries Bash Setup
Setup in to .bash_profile or .zshrc
export PATH="/your/path/bin:$PATH"
Reload Bash session
source ~/.bash_profile
hoặc
source ~/.zshrc
Use with Binaries
bear greet --upper vietnam
Documentation
Also see Official Document here: https://github.com/bear8421/command-line-tool/tree/main/docs
Contact
If any question & request, please contact following information
| Name | GitHub | ||
|---|---|---|---|
| Hung Nguyen | dev@nguyenanhung.com | @nguyenanhung | @nguyenanhung |
From Hanoi with Love ❤️