सिंगलटन पैटर्न सुनिश्चित करता है कि एक क्लास का केवल एक इंस्टेंस हो और इसे एक्सेस करने के लिए एक ग्लोबल पॉइंट प्रदान करता है। यह सुनिश्चित करता है कि नियंत्रित स्थिति में पूरे एप्लिकेशन में केवल एक ऑब्जेक्ट उपलब्ध हो। सिंगलटन पैटर्न अपने एकमात्र ऑब्जेक्ट को एक्सेस करने का एक तरीका प्रदान करता है जिसे क्लास के ऑब्जेक्ट को इंस्टेंटिएट करने की आवश्यकता के बिना सीधे एक्सेस किया जा सकता है।
उदाहरण
<?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();
?>
आउटपुट
connection created
व्याख्या
उपरोक्त उदाहरण में चूंकि हम सिंगलटन पैटर्न का पालन कर रहे हैं, इसलिए ऑब्जेक्ट $db2 नहीं बनाया जा सकता। केवल एक सिंगल ऑब्जेक्ट बनाया जाएगा और वह पूरे एप्लिकेशन में उपलब्ध होगा।