Open
Description
Given this script:
$cmd = new \Commando\Command();
// Define an option
$cmd->option("t");
// If that option is a certain value, then define another option (this causes autoparsing)
if ($cmd['t'] == 'something') {
// do something, like perhaps define other options
}
// Now define a required option. Because we've already parsed the options, the rules
// for this option won't cause an error when really they should.
$cmd->option("e")
->required()
->must(function($t) {
return preg_match("/^[^0-9]+$/", $t);
});
// Try to echo the required 'e' option. Script should not get to this point, but does,
// and also doesn't throw an error here.
echo $cmd['e'];
Expected Behavior
- With option 'e' not given: should show an error and stop execution when
required
called on option 'e'. - With option 'e' given, but not matching regexp: should show an error and stop execution when
must
called on option 'e'. - With option 'e' given and correct, should echo the value of option 'e'.
Actual Behavior
Does not show any errors at all, and outputs any value given for option 'e'.
Metadata
Metadata
Assignees
Labels
No labels