original_string: private function getOptions()
      {
          $inputString = (string) $this->input;
          $options     = [];
  
          // Remove the first two arguments from the array (c/call and the name)
          $content = explode(' ', $inputString, 3);
          if (sizeof($content) > 2 && strpos($inputString, '=') === false) {
              throw new \Exception("Option syntax should contain an equal sign. Ex: --executable=php");
          }
          if (sizeof($content) > 2 && strpos($inputString, '--') === false) {
              throw new \Exception("Option syntax should contain double dashes. Ex: --executable=php");
          }
  
          // Parse out all of the options
          $pieces = explode('--', $content[2]);
          array_shift($pieces);
  
          foreach ($pieces as $piece) {
              $piece = trim($piece);
              list($name, $value) = explode('=', $piece, 2);
  
              if (strpos($value, "'[") === 0 && strpos($value, "]'") === (strlen($value) - 2)) {
                  $csv   = trim(str_replace(['[', ']'], '', $value), "'");
                  $value = str_getcsv($csv, ',');
              }
  
              $options[$name] = $value;
          }
  
          return $options;
      }
code: private function getOptions()
      {
          $inputString = (string) $this->input;
          $options     = [];
  
          // Remove the first two arguments from the array (c/call and the name)
          $content = explode(' ', $inputString, 3);
          if (sizeof($content) > 2 && strpos($inputString, '=') === false) {
              throw new \Exception("Option syntax should contain an equal sign. Ex: --executable=php");
          }
          if (sizeof($content) > 2 && strpos($inputString, '--') === false) {
              throw new \Exception("Option syntax should contain double dashes. Ex: --executable=php");
          }
  
          // Parse out all of the options
          $pieces = explode('--', $content[2]);
          array_shift($pieces);
  
          foreach ($pieces as $piece) {
              $piece = trim($piece);
              list($name, $value) = explode('=', $piece, 2);
  
              if (strpos($value, "'[") === 0 && strpos($value, "]'") === (strlen($value) - 2)) {
                  $csv   = trim(str_replace(['[', ']'], '', $value), "'");
                  $value = str_getcsv($csv, ',');
              }
  
              $options[$name] = $value;
          }
  
          return $options;
      }
code_tokens: private function getOptions ( ) { $ inputString = ( string ) $ this -> input ; $ options = [ ] ; // Remove the first two arguments from the array (c/call and the name) $ content = explode ( ' ' , $ inputString , 3 ) ; if ( sizeof ( $ content ) > 2 && strpos ( $ inputString , '=' ) === false ) { throw new \ Exception ( "Option syntax should contain an equal sign. Ex: --executable=php" ) ; } if ( sizeof ( $ content ) > 2 && strpos ( $ inputString , '--' ) === false ) { throw new \ Exception ( "Option syntax should contain double dashes. Ex: --executable=php" ) ; } // Parse out all of the options $ pieces = explode ( '--' , $ content [ 2 ] ) ; array_shift ( $ pieces ) ; foreach ( $ pieces as $ piece ) { $ piece = trim ( $ piece ) ; list ( $ name , $ value ) = explode ( '=' , $ piece , 2 ) ; if ( strpos ( $ value , "'[" ) === 0 && strpos ( $ value , "]'" ) === ( strlen ( $ value ) - 2 ) ) { $ csv = trim ( str_replace ( [ '[' , ']' ] , '' , $ value ) , "'" ) ; $ value = str_getcsv ( $ csv , ',' ) ; } $ options [ $ name ] = $ value ; } return $ options ; }
docstring: This method takes the Argv, and parses out all the options passed.
  
  @return array
  @throws \Exception
docstring_tokens: This method takes the Argv and parses out all the options passed .