有没有一种PHP库可以用来解析命令行PHP脚本中的选项和参数?我知道getopt
函数,但是否有类似于参数的东西?
有没有一种PHP库可以用来解析命令行PHP脚本中的选项和参数?我知道getopt
函数,但是否有类似于参数的东西?
getopt
是一种可能的选择,但它不太好用,特别是如果你习惯了 Python(或 Ruby,它可能有类似美丽的 argv 解析器)。以下是一些更好的替代方案,它们可能都需要 PHP 5.3+。
我尝试过 Commando,并对其感到满意。
ConsoleKit 将成为下一个选择。
php-cli-tools 具有一些更多的功能,如进度指示器和表格显示。我只在 10 分钟前发现了它,因为我想要表格显示,所以我可能会在某个时候从 Commando 转移到这个库。
还要检查 GetOptionKit,因为它可以处理子命令。
__call
方法,它与我的IDE不兼容,但它工作得很好,而且易于使用。 - mpen请查看CLIFramework,它可以处理子命令、参数验证、选项值(多个、标志、可选、默认)和强大的zsh/bash自动完成生成器。
这里是使用zsh自动完成生成器的screencast(它可以完成功能和选项的输入):
还有许多流行的应用程序使用CLIFramework和GetOptionKit。例如,PHPBrew, LazyRecord
getopt
处理选项,使用$argv
数组处理参数 - http://php.net/manual/en/reserved.variables.argv.php
还可以参考http://docs.php.net/manual/en/features.commandline.php,了解从$argv
中读取形如--name=VALUE
的参数的方法。