Singleton Pattern ช่วยให้มั่นใจว่าคลาสมีเพียงหนึ่งอินสแตนซ์และให้จุดส่วนกลางในการเข้าถึง ทำให้แน่ใจว่ามีเพียงออบเจ็กต์เดียวเท่านั้นที่พร้อมใช้งานทั่วทั้งแอปพลิเคชันในสถานะควบคุม รูปแบบซิงเกิลตันให้วิธีในการเข้าถึงออบเจ็กต์เดียวซึ่งสามารถเข้าถึงได้โดยตรงโดยไม่จำเป็นต้องยกตัวอย่างอ็อบเจ็กต์ของคลาส
ตัวอย่าง
<?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 จึงไม่สามารถสร้างได้ จะมีการสร้างวัตถุเพียงชิ้นเดียวและสามารถใช้ได้ทั่วทั้งแอปพลิเคชัน