Example #1
0
 function __construct()
 {
     parent::__construct();
     App::config()->addConfiguration(APP_ROOT . _DS_ . 'config.json');
     App::extend('router', new \Cherry\Mvc\Router());
     App::extend('server', new \Cherry\Mvc\Server());
 }
Example #2
0
 public function __construct()
 {
     $this->setLogTarget([]);
     parent::__construct();
     $this->loadConfig();
     App::extend('router', new \Cherry\Mvc\Router());
     App::extend('server', new \Cherry\Mvc\Server());
 }
Example #3
0
 function __construct($apppath = null, $argv = null)
 {
     if ($argv == null) {
         if (_IS_CLI) {
             $argv = $GLOBALS['argv'];
             //  global $argv;
         } else {
             $argv = "";
         }
     }
     parent::__construct();
     $this->debug('Spawning application');
     $this->setup();
     $opts = '';
     $lopts = array();
     foreach ($this->arguments as $opt) {
         $opts .= $opt->argument;
         $lopts[] = $opt->longargument;
     }
     // Parse the arguments
     $parsed = getopt($opts, $lopts);
     foreach ($this->arguments as $optkey => $opt) {
         if (array_key_exists($optkey, $parsed)) {
             $optval = $parsed[$optkey];
             if ($opt->type == 'multi') {
                 if (!is_array($opt->value)) {
                     $opt->value = array();
                 }
                 $opt->value[] = $optval;
             } elseif ($opt->type == 'string') {
                 $opt->value = $optval;
             } else {
                 $opt->value = true;
             }
             if ($opt->bind) {
                 if (is_array($opt->bind)) {
                     list($obj, $prop) = $opt->bind;
                 } else {
                     $obj = $this;
                     $prop = $opt->bind;
                 }
                 $obj->{$prop} = $opt->value;
             }
         }
     }
     //var_dump($this->arguments);
     //var_dump($parsed);
     // Remove all parsed values to end up with just the parameters
     $cparam = array();
     // Start at 1 to skip command name.
     for ($i = 1; $i < count($argv); $i++) {
         $arg = $argv[$i];
         $copt = null;
         if ($arg == "--") {
             $cparam = array_merge($cparam, array_slice($argv, $i + 1));
             break;
         }
         if ($arg[0] == '-') {
             // Look up arguments
             if ($arg[1] == '-') {
                 // Long argument
                 foreach ($this->arguments as $opt) {
                     if ($arg == '--' . $opt->longargument) {
                         printf("Matched %s...\n", $arg);
                         $copt = $opt;
                         break;
                     }
                 }
             } else {
                 // Short arguments
                 foreach ($this->arguments as $opt) {
                     if ($arg[1] == $opt->argument[0]) {
                         $copt = $opt;
                         break;
                     }
                 }
             }
         }
         if ($copt) {
             if (strlen($copt->argument) > 1) {
                 $i++;
                 // Skip the next item
             }
         } else {
             $cparam[] = $arg;
         }
     }
     $this->parameters = $cparam;
 }