最初,执行控制台命令的选项是在命令类的'run'方法中设置的。 它们对应于方法参数的顺序。
在HLEB2框架中,您还可以为命令指定一个或多个命名参数。 调用命令时的命名参数顺序无关紧要。
命令类的rules()方法返回一个包含扩展参数规则的数组。 如果此方法不存在,请将其添加为命令类的第一个方法。
示例中显示了三种不同类型的命名参数。 参数名称是必需的,不能重复。
第一个参数支持两个值-N和--Name,其存在是必需的。 默认情况下,--Name等于字符串'Undefined',传入的值只能是字符串(不是数组)。 值可以是--Name=Fedor或-N=Mark的形式,而--Name将等于'Undefined'。
第二个参数的形式是--force(无值);如果存在,它等于true。
第三个参数的形式是数组,值可以多次指定,如--UserData=1和--UserData=2,等同于--UserData=[1,2]。其存在是可选的,如果没有值或调用为--UserData,它将等于[](空数组)。
可以在命令的run()方法中以$this->getOptions()或$this->getOption()获取参数数据。 第一种方法返回一个命名系统对象数组,可以从中获得所需格式的值。 另一种方法返回一个类似的单参数系统对象通过名称(主要必要,不是缩写)。