Пример #1
0
 /**
  * Validates the argument instance.
  *
  * @return void
  * @throws Console_CommandLine_Exception
  * @todo use exceptions
  */
 public function validate()
 {
     // check if the argument name is valid
     if (!preg_match('/^[a-zA-Z_\\x7f-\\xff]+[a-zA-Z0-9_\\x7f-\\xff]*$/', $this->name)) {
         Console_CommandLine::triggerError('argument_bad_name', E_USER_ERROR, array('{$name}' => $this->name));
     }
     parent::validate();
 }
Пример #2
0
 /**
  * Validates the option instance.
  *
  * @return void
  * @throws Console_CommandLine_Exception
  * @todo use exceptions instead
  */
 public function validate()
 {
     // check if the option name is valid
     if (!preg_match('/^[a-zA-Z_\\x7f-\\xff]+[a-zA-Z0-9_\\x7f-\\xff]*$/', $this->name)) {
         Console_CommandLine::triggerError('option_bad_name', E_USER_ERROR, array('{$name}' => $this->name));
     }
     // call the parent validate method
     parent::validate();
     // a short_name or a long_name must be provided
     if ($this->short_name == null && $this->long_name == null) {
         Console_CommandLine::triggerError('option_long_and_short_name_missing', E_USER_ERROR, array('{$name}' => $this->name));
     }
     // check if the option short_name is valid
     if ($this->short_name != null && !preg_match('/^\\-[a-zA-Z]{1}$/', $this->short_name)) {
         Console_CommandLine::triggerError('option_bad_short_name', E_USER_ERROR, array('{$name}' => $this->name, '{$short_name}' => $this->short_name));
     }
     // check if the option long_name is valid
     if ($this->long_name != null && !preg_match('/^\\-\\-[a-zA-Z]+[a-zA-Z0-9_\\-]*$/', $this->long_name)) {
         Console_CommandLine::triggerError('option_bad_long_name', E_USER_ERROR, array('{$name}' => $this->name, '{$long_name}' => $this->long_name));
     }
     // check if we have a valid action
     if (!is_string($this->action)) {
         Console_CommandLine::triggerError('option_bad_action', E_USER_ERROR, array('{$name}' => $this->name));
     }
     if (!isset(Console_CommandLine::$actions[$this->action])) {
         Console_CommandLine::triggerError('option_unregistered_action', E_USER_ERROR, array('{$action}' => $this->action, '{$name}' => $this->name));
     }
     // if the action is a callback, check that we have a valid callback
     if ($this->action == 'Callback' && !is_callable($this->callback)) {
         Console_CommandLine::triggerError('option_invalid_callback', E_USER_ERROR, array('{$name}' => $this->name));
     }
 }