public static function GetByField($ClassName, $FieldName, $Value) { $ClassValues = get_class_vars($ClassName); if (isset(DB_Accessor::$DataCache[$ClassName])) { foreach (DB_Accessor::$DataCache[$ClassName] as $Obj) { if ($Obj->Data[$FieldName] == $Value) { return $Obj; } } } $Array = DB_Accessor::GetAllByField($ClassName, $FieldName, $Value); if (1 > count($Array)) { return new $ClassName(); } return array_pop($Array); }