PHP ၏အလိုအလျောက်တင်ဆောင်သည့်ယန္တရားသည် undefined class files များကို dynamically class ဖိုင်များကိုပုံမှန်ဖွင့်ပြီးထပ်ခါတလဲလဲကုဒ်နံပါတ်များကိုထပ်ခါတလဲလဲမိတ်ဆက်ခြင်းကိုရှောင်ရှားသည်။ မည်သို့လုပ်ဆောင်သည်ကိုနားလည်ခြင်းသည်ပရိုဂရမ်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်နှင့်ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်ကိုပိုမိုထိရောက်စေရန်နှင့်ချောမွေ့စေသည်။
PHP Automatic Loading သည်လူတန်းစားမြေပုံနှင့်အမည်များပေါ်တွင်အခြေခံသည်။ Class Map သည် class name နှင့် valfe path ဖြစ်သည့်တန်ဖိုးနှင့်တန်ဖိုးသည်သော့များနှင့်အတူခင်းကျင်းမှုတစ်ခုဖြစ်သည်။ အမည်များသည်အတန်းများကို စုစည်း. ခွဲထုတ်ရန်နှင့်သီးခြားခွဲထုတ်ရန်နည်းလမ်းများဖြစ်ပြီးလူတန်းစားအမည်များကိုပိုမိုစံသတ်မှတ်ခြင်းနှင့်ပ conflicts ိပက်ခများကိုရှောင်ရှားရန်ဖြစ်သည်။
PHP သည် undefined class ကိုဆက်သွယ်သောအခါ Class Map တွင်သက်ဆိုင်ရာ entry တစ်ခုရှိမရှိကို ဦး စွာစစ်ဆေးပါ။ သို့ဆိုလျှင်ဖိုင်ကိုတိုက်ရိုက်တင်ပါလိမ့်မည်။ မဟုတ်ပါကဖိုင်လမ်းကြောင်းသည်အတန်းအမည်နှင့် namespace ပေါ်တွင် အခြေခံ. သက်ဆိုင်ရာဖိုင်ကိုတင်ရန်ကြိုးစားသည်။
PHP သည် spl_autoload_register () function ကိုထောက်ပံ့ပေးသည်။ အောက်ပါဥပမာသည် Class files များကိုသတ်မှတ်ထားသောလမ်းညွှန်တစ်ခုတွင်ရှာဖွေရန်စိတ်ကြိုက်အတန်း 0 ယ်သူကိုမည်သို့ဖန်တီးရမည်ကိုပြသသည်။
spl_autoload_register (function ကို ($ classname) {
$ filepath = "လမ်းကြောင်း / လမ်းညွှန် /" / "" ။ $ classname ။ ".php";
လျှင် (file_exists ($ filpath))
one_once $ filepath;
}
});အောက်ပါဥပမာသည်ရိုးရှင်းသော PHP လျှောက်လွှာကိုအလိုအလျောက်တင်ခြင်းဖြင့်အကောင်အထည်ဖော်ခြင်းအားအကောင်အထည်ဖော်မှုကိုပြသသည်။
Appmodeluser ကိုသုံးပါ။
// namespace ပြောင်းလဲခြင်း spl_autoload_register (function) {function ကို) အပေါ် အခြေခံ. autoloader ကိုမှတ်ပုံတင်ပါ။ {function ($ classname) {
$ filepath = strustoplace ("\", Directory_searatter, $ Classname) ။ ".php";
လျှင် (file_exists ($ filpath))
one_once $ filepath;
}
});
// Loading ထိရောက်မှုကိုတိုးတက်စေရန် Class Mapping ကိုအသုံးပြုပါ။ $ ClassMap = Array (
"appmodeluser" => "Path / to / user.php"
);
spl_autoload_register (function) အသုံးပြုမှု ($ ClassMap) {
IF (ISSET ($ ClassMap [$ Classname])))
antil_once $ ClassMap [$ classname];
}
});
// တတိယပါတီစာကြည့်တိုက်များနှင့်တွဲဖက် spl_autoutoload_register (function ကို ($ classname) {)
$ vendorpath = "ရောင်းချသူ / autoload.php";
if (file_exists ($ ရောင်းချသူ)) {
$ vendorprath;
}
});လိုအပ်ပါကအလိုအလျောက်တင်ခြင်းနှင့်ဆက်စပ်သောအကောင်းဆုံးနည်းစနစ်များကို အသုံးပြု. PHP applications များ၏စွမ်းဆောင်ရည်နှင့်ထိန်းသိမ်းခြင်းကိုသိသိသာသာတိုးတက်အောင်လုပ်နိုင်သည်။ ၎င်း၏အများဆုံးအလားအလာကိုအောင်မြင်နိုင်သည်။