如何用PHP实现类似GNU C风格的getopt命令行选项解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计955个文字,预计阅读时间需要4分钟。
在PHP中,当获取命令行参数时,可以通过遍历$argv数组来获取。这实际上是有规范的,类似于GNU C-style的命令行选项解析器。例如,使用命令wget下载文件时,可以通过下面的方式获取参数:
在 PHP 中,当我们在获取命令行参数时,可以通过遍历$argv来获取,其实呢是有规范可循的,也就是 GNU C-style parser for command line options 。
比如使用命令wget下载文件时,使用下面的一些方式来指定option都可以
wget mengkang.net/a.jpg -O b.jpg wget mengkang.net/a.jpg -O=b.jpg wget mengkang.net/a.jpg -Ob.jpg --tries=3 -b wget mengkang.net/a.jpg -Ob.jpg --tries=3 -bvd
我们整理下command line options的规则,首先参数分为短参数名和完整参数名,而且一些还有映射关系。比如我们使用wget时,-O对应--output-document。
总结 options 使用规范
- 短参数名,有一个限制,只能是一个char字符,只能1字节,不能超过1字节,比如上面的第四个命令的最后一个参数就不知道是一个参数还是三个参数了。
本文共计955个文字,预计阅读时间需要4分钟。
在PHP中,当获取命令行参数时,可以通过遍历$argv数组来获取。这实际上是有规范的,类似于GNU C-style的命令行选项解析器。例如,使用命令wget下载文件时,可以通过下面的方式获取参数:
在 PHP 中,当我们在获取命令行参数时,可以通过遍历$argv来获取,其实呢是有规范可循的,也就是 GNU C-style parser for command line options 。
比如使用命令wget下载文件时,使用下面的一些方式来指定option都可以
wget mengkang.net/a.jpg -O b.jpg wget mengkang.net/a.jpg -O=b.jpg wget mengkang.net/a.jpg -Ob.jpg --tries=3 -b wget mengkang.net/a.jpg -Ob.jpg --tries=3 -bvd
我们整理下command line options的规则,首先参数分为短参数名和完整参数名,而且一些还有映射关系。比如我们使用wget时,-O对应--output-document。
总结 options 使用规范
- 短参数名,有一个限制,只能是一个char字符,只能1字节,不能超过1字节,比如上面的第四个命令的最后一个参数就不知道是一个参数还是三个参数了。

