phpgt/cli
Composer 安装命令:
composer require phpgt/cli
包简介
Command line interface builder.
关键字:
README 文档
README
Create multi-command terminal application with parameter requirements that are self-documenting and easy to unit test.
Example usage: Twitter client
CLI interaction:
$ twitter tweet --message "Sending a test Tweet from the terminal." Sent! View online: https://twitter.com/g105b/status/1038509073346510849 $ twitter dm --to @g105b --message "Hello, Greg!" Sent! $ twitter help Twitter example application Available commands: • tweet Send a Tweet to your timeline. • view View your timeline • follow Follow an account • dm Send a direct message. • login Authenticate your username. • help Show this help screen.
twitter.php:
$app = new Application( "Twitter example application", new CliArgumentList(...$argv), new TweetCommand(), new ViewCommand(), new FollowCommand(), new DmCommand(), new LoginCommand() ); $app->run();
Command/tweet.php
class TweetCommand extends Command { public function __construct() { $this->setName("tweet"); $this->setDescription("Send a Tweet to your timeline."); $this->setRequiredParameter(true, "message", "m"); $this->setOptionalParameter(true, "location", "l"); } public function run(?ArgumentValueList $arguments = null):int { if(!TwitterApi::isLoggedIn()) { $this->writeLine("You must login first.", StreamName::ERROR); return 1; } try { $uri = TwitterApi::sendTweet($arguments->get("message")); $this->writeLine("Sent! View online: $uri"); } catch(TwitterApiException $exception) { $this->writeLine( "Error sending Tweet: " . $exception->getMessage(), StreamName::ERROR ); return 2; } return 0; } }
Coloured output
Within a Command, output can be coloured consistently using the palette API:
$this->output("some text", Palette::GREEN); // single green message, resets afterwards $this->setOutputPalette(Palette::RED, Palette::BLACK); // set default fg/bg $this->output("all output now uses the default palette"); $this->resetOutputPalette(); // reset to terminal default
Proudly sponsored by
phpgt/cli 适用场景与选型建议
phpgt/cli 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2016 年 10 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「cli」 「terminal」 「webengine」 「phpgt」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 phpgt/cli 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 phpgt/cli 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 phpgt/cli 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A fork of runcmf/runtracy
Minimalistic, ergonomic PHP toolkit.
PHP Terminal emulator controller utilizing ANSI escape sequence coding.
Minimalistic, ergonomic PHP toolkit.
Render small SVG icons to monochrome ANSI for terminal UIs (Laravel/Prompts, Symfony Console, plain CLI).
2020 PHP: A showcase and classroom for the cutting edge features of PHP 8
统计信息
- 总下载量: 11k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 9
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-10-23