getAppRootDir() public static method

Get the app dir
public static getAppRootDir ( ) : string
return string
Beispiel #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");
         }
     }
 }
Beispiel #2
0
 /**
  * The constructor
  *
  * @param Controller $controller
  */
 public function __construct(Controller $controller)
 {
     $this->controller = $controller;
     $this->templateDir = $this->controller->getModuleDir() . "/Views";
     $this->controllersViewPath = $this->templateDir . "/";
     $this->controllersViewPath .= $this->controller->getControllerName();
     $this->appRootDir = Env::getAppRootDir();
     /**
      * Handlebars
      */
     $hbOptions = ["extension" => $this->ext];
     $partialsLoader = new FilesystemLoader($this->templateDir, $hbOptions);
     $this->engine = new Handlebars(["partials_loader" => $partialsLoader]);
     /**
      * FlashMessage
      */
     $this->flashMessage = new View\FlashMessage();
 }