コード例 #1
0
ファイル: prototype.php プロジェクト: yindonghai/msk.com
 public function parse_command_args($command_parts, $command_options)
 {
     $args = array();
     self::$options = array();
     foreach ($command_options as $option_name => $option) {
         if (isset($option['short'])) {
             $option_short[$option['short']] = $option_name;
         }
     }
     foreach ($command_parts as $part) {
         if ($part[0] == '-') {
             if ($value_option_name) {
                 trigger_error('--' . $option_name . ' need value', E_USER_ERROR);
                 return false;
             }
             if ($part[1] == '-') {
                 $option_name = substr($part, 2);
                 if (isset($command_options[$option_name])) {
                     if (isset($command_options[$option_name]['need_value']) && $command_options[$option_name]['need_value']) {
                         $value_option_name = $option_name;
                     } else {
                         self::$options[$option_name] = true;
                     }
                 } else {
                     trigger_error('--' . $option_name . ' bad option', E_USER_ERROR);
                     return false;
                 }
             } else {
                 $params_len = strlen($part);
                 for ($i = 1; $i < $params_len; $i++) {
                     if ($value_option_name) {
                         trigger_error('-' . $part[$i] . ' need value', E_USER_ERROR);
                         return false;
                     } else {
                         if (isset($option_short[$part[$i]])) {
                             $option_name = $option_short[$part[$i]];
                             if (isset($command_options[$option_name])) {
                                 if (isset($command_options[$option_name]['need_value']) && $command_options[$option_name]['need_value']) {
                                     $value_option_name = $option_name;
                                 } else {
                                     self::$options[$option_name] = true;
                                 }
                             } else {
                                 trigger_error('--' . $option_name . ' bad option', E_USER_ERROR);
                                 return false;
                             }
                         } else {
                             trigger_error('-' . $part[$i] . ' bad option', E_USER_ERROR);
                             return false;
                         }
                     }
                 }
             }
         } elseif ($value_option_name) {
             self::$options[$value_option_name] = $part;
             $value_option_name = false;
         } else {
             $args[] = $part;
         }
     }
     if ($value_option_name) {
         trigger_error('-' . $value_option_name . ' need value', E_USER_ERROR);
     }
     return $args;
 }
コード例 #2
0
ファイル: route.php プロジェクト: 453111208/bbc
 public function __construct()
 {
     $this->files = kernel::single('base_filesystem');
     parent::__construct();
 }