-
Notifications
You must be signed in to change notification settings - Fork 48
v4 readme
Inhere edited this page May 28, 2022
·
3 revisions
- PHP 版本需要
8.0+
(推荐8.1
) - 支持多级命令,自定义性更强
- 不论是独立命令还是命令组都可以再添加独立子命令
- 方法注释的
@options
@arguments
功能增强- 支持设置数据类型,不设置默认为
string
- 支持设置是否必须
required
等等 - 使用
;
分割各个设置项,完整规则格式type;desc;required;default;shorts
- 支持设置数据类型,不设置默认为
- 提供了新的
FlagsParser
对象来解析和管理输入的选项参数 - 只需通过
FlagsParser $fs
的getOpt()
getArg()
获取选项、参数值- 输入的值在解析绑定时就已经根据设置的类型自动格式化了
- 不在需要原来的通过
input->getXXXOpt()
等各种手动格式化类型的方法
- 提供了更多的事件
- 使用上更加简单易用
- 废弃了之前的
InputDefinition
对象 - 废弃了之前的
Input
对象上的各种getXXXOpt()
getXXXArg()
方法 - 分组下子命令方法的参数不在固定,也不限制顺序,会通过反射自动注入定义的对象 (
Input
,Output
,FlagsParser
)
- 废弃了之前的
我的其他PHP项目
- inhere/kite 方便本地开发和使用的个人CLI工具应用
- php-toolkit/pflag PHP编写的,通用的命令行标志(选项和参数)解析库
- phppkg/easytpl 使用简单且快速的 PHP 模板引擎
- inhere/php-validate 一个简洁小巧且功能完善的php验证库
- inhere/sroute 轻量且快速的HTTP请求路由库