လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> php7 အမည်မသိအတန်းအစားနှင့်အတူပြောင်းလွယ်ပြင်လွယ် singleton ပုံစံများကိုအကောင်အထည်ဖော်ရန်အတွက်အကောင်းဆုံးအလေ့အကျင့်များ

php7 အမည်မသိအတန်းအစားနှင့်အတူပြောင်းလွယ်ပြင်လွယ် singleton ပုံစံများကိုအကောင်အထည်ဖော်ရန်အတွက်အကောင်းဆုံးအလေ့အကျင့်များ

M66 2025-07-08

နိဒါန်း

Singleton ပုံစံသည်အတန်းတစ်ခုသာဖြစ်ရပ်တစ်ခုမျှသာရှိပြီးကမ္ဘာလုံးဆိုင်ရာလက်လှမ်းမီမှုအချက်များကိုထောက်ပံ့ပေးနိုင်သည့်ဘုံဒီဇိုင်းပုံစံဖြစ်သည်။ PHP တွင်, ရိုးရာ singleton mode အကောက်ခွန်သည်ငြိမ် variable များနှင့်နည်းလမ်းများအပေါ်မှီခိုနေရသည်။ သို့သော် PHP7 သည်အမည်မသိအတန်း၏အင်္ဂါရပ်အသစ်ကိုမိတ်ဆက်ခဲ့ပြီး Singleton Mode ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်နှင့်တိကျသောအကောင်အထည်ဖော်မှုကိုပြုလုပ်ခဲ့သည်။

ရိုးရာ singleton model အကောင်အထည်ဖော်မှု

PHP7 မတိုင်မီ Singleton ပုံစံကိုများသောအားဖြင့်ပုဂ္ဂလိကဆောက်လုပ်ရေးနှင့် static getinstance method ကို အသုံးပြု. အကောင်အထည်ဖော်လေ့ရှိသည်။ ဤနည်းအားဖြင့် static method သည်အတန်း၏ဥပမာအားဖြင့်တစ်ကြိမ်သာဖန်တီးလိမ့်မည်ဟုသေချာစေသည်။ ဥပမာအားဖြင့်:

 class Singleton {
     private static $instance;
     private function __construct() {}
     public static function getInstance() {
         if (self::$instance === null) {
             self::$instance = new self();
         }
         return self::$instance;
     }
 }

PHPH7 အမည်မသိအတန်းအစားဆွေမျိုးစနစ်ကိုအကောင်အထည်ဖော်သည်

PHP7 မှမိတ်ဆက်ပေးသည့်အမည်မသိလူတန်းစားအင်္ဂါရပ်သည်၎င်းတို့အားအမည်မပေးဘဲအတန်းများ၏သာဓကများကိုဖန်တီးရန်ခွင့်ပြုသည်။ ဤအင်္ဂါရပ်နှင့်အတူကျွန်ုပ်တို့သည် Singleton mode ကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ အမည်မသိအတန်းများကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်သာဓကများကိုသာဖန်တီးနိုင်ပြီး,

 $instance = new class {
     private function __construct() {}
     public function getInstance() {
         return $this;
     }
 };

အမည်မသိအတန်းများနှင့်အတူ Singleton ပုံစံများကိုပိုမိုလွယ်ကူစေရန်

အမည်မသိအတန်းများဖြင့်ကျွန်ုပ်တို့သည်ဥပမာအားဖြင့်အရာဝတ်ထုတစ်ခုကိုပြန်ပို့ရုံမျှသာမဟုတ်ဘဲချက်ချင်းပင်ထုံးစံအတိုင်းယုတ္တိဗေဒနှင့်စတင်လည်ပတ်မှုများထပ်မံထည့်သွင်းနိုင်သည်။ ဥပမာအားဖြင့်အောက်ပါကုဒ်များသည်အမည်မဖော်လိုသောအတန်းများမှတဆင့် logging လုပ်ရန် Singleton ပုံစံကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသသည်။

 interface Logger {
     public function log($message);
 }
 class FileLogger implements Logger {
     public function log($message) {
         // ဤသည်ဖိုင်များမှမှတ်တမ်းများရေးသားခြင်း၏ယုတ္တိဗေဒကိုအကောင်အထည်ဖော်
     }
 }
 $instance = new class extends FileLogger {
     private function __construct() {}
     public function getInstance() {
         return $this;
     }
 };
 $instance->log('This is a log message.');

အကျဉ်းချုပ်

PHP7 ၏အမည်မသိအတန်းများမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိပြီးလုံခြုံစိတ်ချရသော singleton ပုံစံကိုအကောင်အထည်ဖော်နိုင်သည်။ အမည်မသိအတန်းများသည် code ကိုရိုးရှင်းရုံသာမက code ကိုရိုးရှင်းစေရုံသာမက, Initialization စစ်ဆင်ရေးများ, ဤကောင်းကျိုးများသည် PHP Code ကိုပိုမိုတိကျပြီးထိန်းသိမ်းရန်လွယ်ကူပြီး၎င်းအား Code ၏ပြန်လည်သုံးသပ်ခြင်းနှင့်ဖတ်နိုင်မှုကိုလည်းတိုးတက်စေသည်။