PHP 5-ish method of storing singleton instances.
authorMichael M Slusarz <slusarz@curecanti.org>
Fri, 20 Mar 2009 17:50:21 +0000 (11:50 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Fri, 20 Mar 2009 18:22:47 +0000 (12:22 -0600)
framework/Imap_Client/lib/Horde/Imap/Client/Cache.php

index dcc3695..8da395c 100644 (file)
 class Horde_Imap_Client_Cache
 {
     /**
+     * Singleton instances.
+     *
+     * @var array
+     */
+    static protected $_instances = array();
+
+    /**
      * The configuration params.
      *
      * @var array
@@ -88,14 +95,13 @@ class Horde_Imap_Client_Cache
      */
     static public function singleton($params = array())
     {
-        static $instance = array();
-
+        ksort($params);
         $sig = hash('md5', serialize($params));
-        if (!isset($instance[$sig])) {
-            $instance[$sig] = new Horde_Imap_Client_Cache($params);
+        if (!isset(self::$_instances[$sig])) {
+            self::$_instances[$sig] = new Horde_Imap_Client_Cache($params);
         }
 
-        return $instance[$sig];
+        return self::$_instances[$sig];
     }
 
     /**