From 2580b985963de0cfbddbfd072fe63b876ba7cde0 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Fri, 20 Mar 2009 11:50:21 -0600 Subject: [PATCH] PHP 5-ish method of storing singleton instances. --- framework/Imap_Client/lib/Horde/Imap/Client/Cache.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Cache.php b/framework/Imap_Client/lib/Horde/Imap/Client/Cache.php index dcc36958d..8da395c38 100644 --- a/framework/Imap_Client/lib/Horde/Imap/Client/Cache.php +++ b/framework/Imap_Client/lib/Horde/Imap/Client/Cache.php @@ -37,6 +37,13 @@ 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]; } /** -- 2.11.0