newInstanceArgs($args); self::$objectStore[$class][] = array('args' => $args, 'object' => $obj); } return $obj; } private static function getInstance($class, $args) { if (!array_key_exists($class, self::$objectStore)) return false; foreach (self::$objectStore[$class] as $item) { if ($item['args'] == $args) return $item['object']; } return false; } }