定制 nixphp/cli 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nixphp/cli

最新稳定版本:v0.1.2

Composer 安装命令:

composer require nixphp/cli

包简介

NixPHP CLI Plugin for console applications.

README 文档

README

Logo

NixPHP CLI Plugin

← Back to NixPHP

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/nix as 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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-30