Singleton Pattern ensures that a class has only one instance and provides a global point to access it. It ensures that only one object is available all across the application in a controlled state. Singleton pattern provides a way to access its only object which can be accessed directly without the need to instantiate the object of the class.
Example
<?php class database { public static $connection; private function __construct(){ echo "connection created"; } public function connect(){ if(!isset(self::$connection)){ self::$connection = new database(); } return self::$connection; } } $db = database::connect(); $db2 = database::connect(); ?>
Output
connection created
Explanation
In the above example as we are following a singleton pattern so the object $db2 can't be created. Only a single object will be created and i.e available all across the application.