Ejemplo n.º 1
0
     * I tried to use getopt but had it fail occasionally to find any
     * but argc has always had our back. We don't have all of the "power"
     * of getopt but this does us just fine.
     */
    protected static function parseCommand()
    {
        $options_found = false;
        for ($i = 1; $i < $_SERVER['argc']; $i++) {
            // If there's no '-' at the beginning of the argument
            // then add it to our segments.
            if (!$options_found && strpos($_SERVER['argv'][$i], '-') === false) {
                self::$segments[] = $_SERVER['argv'][$i];
                continue;
            }
            $options_found = true;
            if (substr($_SERVER['argv'][$i], 0, 1) != '-') {
                continue;
            }
            $arg = str_replace('-', '', $_SERVER['argv'][$i]);
            $value = null;
            // If the next item starts with a dash it's a value
            if (isset($_SERVER['argv'][$i + 1]) && substr($_SERVER['argv'][$i + 1], 0, 1) != '-') {
                $value = $_SERVER['argv'][$i + 1];
                $i++;
            }
            self::$options[$arg] = $value;
        }
    }
}
CLI::_init();