Exemple #1
0
 public function getParameters()
 {
     $params = array();
     sgAutoloader::loadFile('Console_Getopt', dirname(__FILE__) . '/vendor/Console/Getopt.php');
     $cg = new Console_Getopt();
     $params = $cg->readPHPArgv();
     array_shift($params);
     return $params;
 }
Exemple #2
0
 protected function parseParams($namespace, $task, $cliParams = array())
 {
     sgAutoloader::loadFile('Console_Getopt', dirname(__FILE__) . '/vendor/Console/Getopt.php');
     $arguments = array();
     $options = array();
     $taskDefinition = self::getTask($namespace, $task);
     if (isset($taskDefinition['options']) || isset($taskDefinition['arguments'])) {
         if (!isset($taskDefinition['arguments'])) {
             $taskDefinition['arguments'] = array();
         }
         if (!isset($taskDefinition['options']['short'])) {
             $taskDefinition['options']['short'] = null;
         }
         if (!isset($taskDefinition['options']['long'])) {
             $taskDefinition['options']['long'] = array();
         }
         try {
             $params = Console_Getopt::getopt($cliParams, $taskDefinition['options']['short'], $taskDefinition['options']['long']);
             if (!empty($taskDefinition['arguments']) && (!isset($params[1]) || count($taskDefinition['arguments']) !== count($params[1]))) {
                 throw new Exception('Missing required argument.');
             }
             $arguments = array();
             if (!empty($taskDefinition['arguments'])) {
                 $arguments = array_combine($taskDefinition['arguments'], $params[1]);
             }
             $options = array();
             foreach ($params[0] as $param) {
                 $options[$param[0]] = $param[1];
             }
         } catch (Exception $e) {
             $error = array();
             $error[] = $e->getMessage();
             if (isset($taskDefinition['usage'])) {
                 $error[] = 'Usage: ' . $taskDefinition['usage'];
             }
             sgCLI::error($error);
             return false;
         }
     }
     return array('arguments' => $arguments, 'options' => $options);
 }
 public static function preConfig()
 {
     sgAutoloader::loadFile('Spyc', realpath(dirname(__FILE__) . '/../lib/vendor/spyc/spyc.php'));
 }