Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

Singleton Design Pattern ใน PHP คืออะไร?


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

คำอธิบาย

ในตัวอย่างข้างต้น เราปฏิบัติตาม Singleton Pattern ดังนั้นอ็อบเจกต์ $db2 จึงไม่สามารถสร้างใหม่ได้ จะมีอ็อบเจกต์เพียงตัวเดียวที่ถูกสร้างและพร้อมใช้งานทั่วทั้งแอปพลิเคชัน