/** * Creates new Sugar instance if it doesn't already exist, and returns it. * * @throws RuntimeException If Sugar lib directory does not exist. * @return SugarInstance */ private function getInstance() { if (!self::$sugarInstance) { if (!is_dir(self::$sugarDirectory)) { throw new RuntimeException('Cannot set the Sugar lib directory : ' . self::$sugarDirectory . '. Directory does not exist.'); } require_once self::$sugarDirectory . '/Sugar.php'; self::$sugarInstance = new Sugar(); self::$sugarInstance->templateDir = self::$sugarTemplatesDirectory; self::$sugarInstance->cacheDir = self::$sugarCacheDirectory; } return self::$sugarInstance; }