
แสดงให้เห็น
1. รูปแบบซิงเกิลตันมีประโยชน์มากเมื่อคุณต้องการให้แน่ใจว่ามีออบเจ็กต์เพียงอินสแตนซ์เดียว ด้วยการมอบการควบคุมการสร้างออบเจ็กต์ให้กับจุดเดียว จะมีเพียงอินสแตนซ์เดียวของแอปพลิเคชันเท่านั้นที่มีอยู่ตลอดเวลา ไม่ควรสร้างอินสแตนซ์ของซิงเกิลตันนอกชั้นเรียน
สังเกต
2. จำเป็นต้องเข้าถึงตัวสร้างส่วนตัวเพื่อป้องกันไม่ให้คลาสถูกสร้างอินสแตนซ์แบบสุ่ม
ตัวแปรแบบคงที่จะต้องเก็บอินสแตนซ์ของคลาส
จะต้องมีวิธีสาธารณะแบบคงที่ในการเข้าถึงอินสแตนซ์นี้ โดยปกติแล้ววิธีนี้จะมีชื่อว่า getInstance()
จะต้องมีวิธีโคลนส่วนตัวที่ว่างเปล่าเพื่อป้องกันการคัดลอก
ตัวอย่าง
คลาสเดี่ยว
-
สาธารณะคงที่ $_instance;
ฟังก์ชั่นส่วนตัว __ สร้าง ()
-
-
ฟังก์ชั่นส่วนตัว __clone()
-
-
ฟังก์ชันคงที่สาธารณะ getInstance()
-
ถ้า (!ตนเอง::$_อินสแตนซ์) {
ตนเอง::$_instance = ตัวตนใหม่ ();
-
คืนตัวเอง::$_instance;
-
ฟังก์ชั่นสาธารณะ sayHi()
-
echo "สวัสดี n";
-
-
$single = เดี่ยว::getInstance();
$single->sayHi();ข้างต้นคือความเข้าใจเกี่ยวกับโหมดซิงเกิลตันของ PHP ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน