Преглед изворни кода

added cache SchemaFactory::loadDefaultObject

Piotr Labudda пре 8 година
родитељ
комит
ec8adf0c47
1 измењених фајлова са 4 додато и 1 уклоњено
  1. 4 1
      SE/se-lib/SchemaFactory.php

+ 4 - 1
SE/se-lib/SchemaFactory.php

@@ -3,9 +3,12 @@
 class SchemaFactory {
 
   public static function loadDefaultObject($name) {
+		static $_cache = [];
+		if (array_key_exists($name, $_cache)) return $_cache[$name];
     $objClassName = "Schema_{$name}StorageAcl";
     if (!Lib::tryLoadClass($objClassName)) throw new HttpException("Not implemented - storage object not found '{$name}'", 501);
-    return new $objClassName();
+    $_cache[$name] = new $objClassName();
+    return $_cache[$name];
   }
 
   public static function loadTableObject($tableName, $name) {