Simple (?) Singleton Question

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
musetracks
Forum Newbie
Posts: 3
Joined: Mon Nov 12, 2007 7:55 pm

Simple (?) Singleton Question

Post by musetracks »

Not being a seasoned PHP developer, tonight I started playing with the use of the Singleton pattern to store configuration information. What I was surprised to find was that the instance - at least the one I'm creating - isn't really a singleton. With each request, the constructor is called. Isn't that very much *not* a singleton or am I misunderstanding or doing something wrong? I'm using a pretty simple case:

Code: Select all

class Config
{
    private static $instance;

    private function __construct() { 
 		echo '<p>Constructing</p>';
	}

    public static function getInstance()
    {
        if ( is_null ( self::$instance ) )
        {
            self::$instance = new self();
        }

        return self::$instance;
    }
    public function clear() { 
		echo '<p>clearing...</p>';
		self::$instance    = null; 
    }
}
I've called this code on a dummy page and each time I refresh the page, the word "Constructing" is printed. What am I not doing or not understanding?

Any insight would be greatly appreciated.

Thanks.

Rob
Post Reply