コード例 #1
0
ファイル: DB_Accessor.php プロジェクト: Zipcore/GMDonate
 public static function PrecacheAll($ClassName)
 {
     global $GMDConfig;
     $ClassValues = get_class_vars($ClassName);
     // Check Table Name
     if (!isset($ClassValues["TableName"])) {
         trigger_error("Unknown table name for class [" . $ClassName . "]");
         return false;
     }
     if (DB_Accessor::LoadMemCache($ClassName) === true) {
         return;
         // We loaded from cache successfully
     }
     $Query = Database::Query("SELECT * FROM `%s`;", $ClassValues["TableName"]);
     DB_Accessor::$DataCache[$ClassName] = array();
     while ($Row = $Query->fetch_assoc()) {
         DB_Accessor::$DataCache[$ClassName][$Row["ID"]] = new $ClassName($Row);
     }
     if ($GMDConfig["UseAPC"]) {
         apc_store("SchnellCache_" . $ClassName, DB_Accessor::$DataCache[$ClassName]);
         apc_store("SchnellCacheExpire_" . $ClassName, time() + 0);
         // 5 minutes by default [TESTING - SET TO 0]
     }
 }