示例#1
0
 /**
  * The constructor
  *
  * @param string $appBaseDir - The dir containing /App directory
  * @param string $appName
  * @param string $uri
  * @throws Exception
  */
 public function __construct($appBaseDir, $appName = "Www", $uri = null)
 {
     if (!$uri) {
         $uri = implode("/", Http\Request::getUrlSegments());
     }
     Env::setAppRootDir($appBaseDir);
     $appName = self::formatName($appName);
     if (!is_dir(Env::getAppRootDir())) {
         throw new Exception("The application root: 'App' directory doesn't\n                                exist at: " . Env::getAppRootDir());
     } else {
         Autoloader::register(dirname(Env::getAppRootDir()));
         $this->appDir = Env::getAppRootDir() . "/{$appName}";
         if (!is_dir($this->appDir)) {
             throw new Exception("The application name: '{$appName}' doesn't\n                                    exist at: " . $this->appDir);
         }
         $this->setUri($uri);
         $this->baseNamespace = "App\\{$appName}";
         $this->config = (new Config("VoodooApp"))->loadFile($this->appDir . "/Config" . Config::EXT);
         $routes = (new Config("AppRoutes"))->loadFile($this->appDir . "/Routes" . Config::EXT);
         $this->setRouting($routes->get("path") ?: []);
         if ($this->config->get("application.defaultModule")) {
             $this->defaultModule = $this->config->get("application.defaultModule");
         }
         if ($this->config->get("application.defaultController")) {
             $this->defaultController = $this->config->get("application.defaultController");
         }
     }
 }
示例#2
0
 /**
  * Return the user agent ip
  * @return string
  */
 public function getIp()
 {
     return Http\Request::getIp();
 }