original_string: public static function getRoot() {
      if (!isset(self::$root)) {
        try {
  
          $root = getenv('PSC_CMS');
  
          if (!empty($root)) {
            return self::$root = new Dir($root);
          }
    
        } catch (\Webforge\Common\System\Exception $e) {}
  
        throw MissingEnvironmentVariableException::factory('PSC_CMS', 'The variable should reference a directory, where the host-config.php can live. Use trailing slash/backslash.');
      }
  
      return self::$root;
    }
code: public static function getRoot() {
      if (!isset(self::$root)) {
        try {
  
          $root = getenv('PSC_CMS');
  
          if (!empty($root)) {
            return self::$root = new Dir($root);
          }
    
        } catch (\Webforge\Common\System\Exception $e) {}
  
        throw MissingEnvironmentVariableException::factory('PSC_CMS', 'The variable should reference a directory, where the host-config.php can live. Use trailing slash/backslash.');
      }
  
      return self::$root;
    }
code_tokens: public static function getRoot ( ) { if ( ! isset ( self :: $ root ) ) { try { $ root = getenv ( 'PSC_CMS' ) ; if ( ! empty ( $ root ) ) { return self :: $ root = new Dir ( $ root ) ; } } catch ( \ Webforge \ Common \ System \ Exception $ e ) { } throw MissingEnvironmentVariableException :: factory ( 'PSC_CMS' , 'The variable should reference a directory, where the host-config.php can live. Use trailing slash/backslash.' ) ; } return self :: $ root ; }
docstring: Returns the root directory of the host where the host-config lives
  
  @return Psc\System\Directory
  @throws Psc\MissingEnvironmentVariableException
docstring_tokens: Returns the root directory of the host where the host - config lives