/** * Entry point method * * @param string[] $args * @return int */ public static function main(array $args) { $webroot = new Path(getcwd()); $docroot = new Path($webroot, 'static'); $address = 'localhost:8080'; $profile = getenv('SERVER_PROFILE') ?: 'dev'; $mode = 'serve'; $arguments = []; $config = []; $source = '.'; for ($i = 0; $i < sizeof($args); $i++) { if ('-r' === $args[$i]) { $docroot = $webroot->resolve($args[++$i]); } else { if ('-a' === $args[$i]) { $address = $args[++$i]; } else { if ('-p' === $args[$i]) { $profile = $args[++$i]; } else { if ('-c' === $args[$i]) { $config[] = $args[++$i]; } else { if ('-m' === $args[$i]) { $arguments = explode(',', $args[++$i]); $mode = array_shift($arguments); } else { if ('-s' === $args[$i]) { $source = $args[++$i]; } else { $source = $args[$i]; break; } } } } } } } $server = self::server($mode, $address, $arguments); $server->serve($source, $profile, $webroot, $webroot->resolve($docroot), $config); return 0; }