nixphp/cli
最新稳定版本:v0.1.2
Composer 安装命令:
composer require nixphp/cli
包简介
NixPHP CLI Plugin for console applications.
README 文档
README
nixphp/cli
A minimal, developer-friendly command-line interface for your NixPHP application.
This plugin gives you a clean CLI system with colored output, argument parsing, and auto-discovered commands. All without external dependencies.
🧩 Part of the official NixPHP plugin collection. Install it if you want powerful CLI tools for development, deployment, and automation.
📦 Features
- ✅ Adds
vendor/bin/nixas your app’s command-line entry point - ✅ Auto-discovers commands in
app/Commands/ - ✅ Supports arguments, options, and interactive input
- ✅ Prints colored output for better UX
- ✅ Fully extensible – build your own tools and workflows
📥 Installation
composer require nixphp/cli
This will create vendor/bin/nix, your CLI gateway.
🚀 Usage
🔍 Run a command
vendor/bin/nix your:command
Commands are discovered automatically if placed in your app’s app/Commands/ directory.
vendor/bin/nix
If you call the helper without arguments, it prints all available CLI commands.
🛠️ Create a custom command
To create your own CLI command, add a class in the app/Commands/ folder:
namespace App\Commands; use NixPHP\CLI\Core\AbstractCommand; use NixPHP\CLI\Core\Input; use NixPHP\CLI\Core\Output; class HelloCommand extends AbstractCommand { public const NAME = 'hello:say'; protected function configure(): void { $this->setTitle('Say Hello'); $this->addArgument('name'); } public function run(Input $input, Output $output): int { $name = $input->getArgument('name'); $output->writeLine("Hello, {$name}!", 'ok'); return static::SUCCESS; } }
No registration needed — as long as the class resides in app/Commands/, it will be picked up automatically.
Then run:
vendor/bin/nix hello:say John
🎨 Colored output
Use $output->writeLine() to print messages with color support:
| Type | Appearance |
|---|---|
'ok' |
✅ Green |
'error' |
❌ Red |
'warning' |
⚠️ Yellow |
'title' |
💡 Light green on black |
'headline' |
📢 Light blue on black |
You can also draw horizontal lines:
$output->drawStroke(30);
🧪 Interactive input
You can prompt the user:
$name = $input->ask('What is your name?');
📁 File structure
A typical CLI setup might look like this:
app/
└── Commands/
└── HelloCommand.php
vendor/
└── bin/
└── nix
bootstrap.php
✅ Requirements
nixphp/framework>= 0.1.0- PHP >= 8.3
📄 License
MIT License.
统计信息
- 总下载量: 39
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-30