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