danc0/clyde
Composer 安装命令:
composer require danc0/clyde
包简介
Your friendly neighborhood CLI framework.
README 文档
README
Your friendly neighborhood CLI framework.
Documentation is incomplete Wiki This is still a WIP
Purpose
A small framework that tries to stay out of the way and help you rapidly build command line applications.
The most basic app
The flexibility of the framework allows you to build applications in a number of ways, the simplest method is shown below.
<?php if (php_sapi_name() !== 'cli') { exit; } require_once __DIR__ . '/vendor/autoload.php'; use Clyde\Application; use Clyde\Commands\Command; Application::create('devtool') ->about('A small developer tool to help do some cool things') ->version('1.0.0') ->author('dvnc0') ->website('https://github.com/dvnc0') ->command( Command::create('encode <string>') ->about('Encode the passed string with base64') ->action(function($args) { print(base64_encode($args['string'])); exit(0); }) ->save() ) ->run();
This will create the help pages, routes, and process the command using php devtool encode "Hello World".
It's flexible
The Application expects that the method Command will return a Command_Object this patter follows for Commands and Args as well. This allows you to abstract away the creation of Commands and Args to additional classes if needed. As long as the commands return a valid Command_Object everything will be fine. Essentially, the Application is a collection of Objects.
Commands
Command actions should extend Clyde\Actions\Action_Base or be a callable function. Callable functions will be given an array of arguments and classes extending Action_Base are given a Request object.
The command version is automatically added as well as the help command. Commands also automatically get the --help argument which displays their help information.
Tasks and Task Runner
Commands can run tasks that extend Clyde\Tasks\Task_Base via the Task_Runner. This will fork the task into a new process and add a CLI progress spinner while the task executes.
Helpers
The project also includes some helper classes for printing tables, interactive user prompts, styled printing, and adding Emojis.
danc0/clyde 适用场景与选型建议
danc0/clyde 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 95 次下载、GitHub Stars 达 1, 最近一次更新时间为 2023 年 08 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 danc0/clyde 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 danc0/clyde 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 95
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 12
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: Unlicense
- 更新时间: 2023-08-10