• Zend Framework中的Getopt声明语法简介
  • 阿迪王 发表于 2014/12/10 21:59:00 | 分类标签: Zend Getopt 声明语法
  •  声明 Getopt 规则

    Zend_Console_Getopt 类的构造器带有一到三个参数。第一个参数声明哪个选项被应用程序支持。这个类支持交替(alternative)语法形式来声明选项。参见下面的章节关于这些语法形式的格式和用法。

    构造器带有的另外两个参数都是可选的。第二个参数可以包含命令行参数,缺省为 $_SERVER['argv'] 。

    第三个参数包含一个配置选项来定制 Zend_Console_Getopt 的行为(behavior)。关于可用选项的引用(reference),参见 添加配置

    用短语法声明选项


    Zend_Console_Getopt 支持紧凑的语法 (类似用于 GNU Getopt的语法,参见 http://www.gnu.org/software/libc/manual/html_node/Getopt.html )。这个语法只支持单字符 flag 。在一个单个的字符串中,每个字母对应于被程序支持的 flag。字母后跟着冒号 (":") 表示这个 flag 需要参数。

    使用短语法

    $opts = new Zend_Console_Getopt('abp:');     

    上面的例子示例使用 Zend_Console_Getopt 来声明选项,这个选项也可以以 "-a"、"-b" 或 "-p"的形式给出。后面的 flag 需要一个参数。

    短语法限于单个字符的flag。别名,参数类型和帮助字符串不被短语法支持。

    用长语法声明选项


    带有更多功能的不同的语法也是可用的。这个语法允许为 flag 指定别名、选项参数的类型和用来描述用法的帮助字符串。在短语法中使用单字符串来声明选项,而在常语法中使用联合数组作为构造器的第一个参数。

    联合数组的每个元素的键是一个字符串,这个字符串带有给flag命名的格式,用管道符号("|")来隔离每个别名。在这些别名后面,如果选项需要参数,则用等号("=")和紧跟一个字母来表示参数的 类型 :

    "=s" 表示字符串参数

    "=w" 表示一个字的参数(不包含空白的字符串)

    "=i" 表示整数参数

    如果参数是可选的,使用短横线 ("-")而不使用等号。

    在联合数组中的每个元素的值是帮助字符串,用来描述如何使用程序。

    使用长语法

    1. $opts = new Zend_Console_Getopt(  
    2.   array(  
    3.     'apple|a'    => 'apple option, with no parameter',  
    4.     'banana|b=i' => 'banana option, with required integer parameter',  
    5.     'pear|p-s'   => 'pear option, with optional string parameter'  
    6.   )  
    7. );       

     

    在上面的声明例子中,有三个选项:"--apple" 和 "-a" 互为别名,不带参数;"--banana" and "-b" 互为别名,带有强制的整形参数;最后,"--pear" and "-p" 互为别名,带有可选的字符串参数。

  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款

  • 感谢本文作者
  • 作者头像
  • 昵称:阿迪王
  • 加入时间:2013/6/13 0:00:00
  • TA的签名
  • 这家伙很懒,虾米都没写
  • +进入TA的空间
  • 以下内容也很赞哦
分享按钮