Пример #1
0
 /**
  * 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;
 }