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;
    }
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;
    }
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 ; }
This method takes the Argv, and parses out all the options passed.

@return array
@throws \Exception
This method takes the Argv and parses out all the options passed .