Singleton pattern
Jumaat, 2 September 2011, 2:36 pm0
Singleton class is class that allow only one instance of its class to be instantiated.
A lot of examples I see the way to implement singleton pattern whether:
1. Extends a base singleton class
2. Each class apply singleton pattern (get_instance() method, has static $instance attribute)
3. Using registry pattern where one dedicated class act as the singleton instances manager
Well, things shouldn’t get too hard. Here, I will use the combination of registry pattern and singleton in just a function
function o($class) { static $instances; if (!isset($instances[$class]) || !$instances[$class] instanceof $class) { $instances[$class] =& new $class(); } return $instances[$class]; }
To use it:
o('db')->query(...); o('db')->fetch(); o('singleton_class')->do_something();
2 September 2011
2 September 2011