public function options($start = 1)
    {
        
        // Init index
        $this->optind = (0 == ($start)) ? 1 : (int) $start;
        
        // Loop the arguments until there is no option (-1)
        // At the end of the loop $this->optind points to the first non-option
        // parameter
        do {
            $nextOption = $this->getopt();
            
            // If the option is an option (!== -1) and is valid (not null)
            // set it's value and put it in the options array to return
            if (null !== $nextOption && -1 !== $nextOption) {
                $this->options[$nextOption] = (null !== $this->optarg) ? $this->optarg : true;
            }
            
        } while ($nextOption !== -1);
        
        return $this->options;
    }