PHP တွင်ကိန်းသားများသည်အလွန်အရေးကြီးသောအယူအဆတစ်ခုဖြစ်ပြီး script ူမန်မိာိုံင်ငံနေဖြင့်၎င်းတို့၏တန်ဖိုးများကိုပြောင်းလဲခြင်းမရှိပါ။ များသောအားဖြင့် Constants သည် database connection information and api keys များစသဖြင့်သတ်မှတ်ထားသော configuration တန်ဖိုးများကိုသိုလှောင်ထားသည့် configuration တန်ဖိုးများကိုသိမ်းဆည်းရန်အသုံးပြုသည် ။
သို့သော်မကြာခဏဆိုသလိုဖတ်ရှုရန်လိုအပ်သည့်အရေအတွက်များစွာရှိလျှင်စဉ်ဆက်မပြတ်လက်လှမ်းမီမှုတစ်ခုစီသည်အထူးသဖြင့်ပိုမိုကြီးမားသောစနစ်များတွင်စွမ်းဆောင်ရည်တိုးတက်မှုများအထူးသဖြင့်အရေးကြီးသည်။ ပရိုဂရမ်၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်နှင့် ConteStants ၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုဖတ်ရန်ရှောင်ရှားနိုင်ရန်အတွက် Cache (CONTER_CONSTARS) ကိုသိမ်းဆည်းရန် Cache system ကိုဖန်တီးနိုင်သည်။
Get_Defined_constants () function သည် PHP တွင် built-in function တစ်ခုဖြစ်ပြီးသတ်မှတ်ထားသည့်တိုင်းတာမှုနှင့်၎င်းတို့၏တန်ဖိုးများပါ 0 င်သည့်အပေါင်းအသင်းကိုခင်းကျင်းသော PHP တွင်ထည့်သွင်းထားသည်။ ဤလုပ်ဆောင်ချက်၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array get_defined_constants(bool $categorize = false);
$ array ကိုအမျိုးအစားအလိုက်အုပ်စုဖွဲ့သည်ရှိမရှိကိုသတ်မှတ်သည့် parameter ကိုသတ်မှတ်သည်။ အကယ်. မှန်ကန် ရန်သတ်မှတ်ထားပါက၎င်းကိုကိန်းဂဏန်းအမျိုးအစားမှပြန်လာလိမ့်မည်။ အကယ်. မှားယွင်းသော (ပုံမှန်) ဆိုပါကအမြဲတမ်းပါ 0 င်သည့်ပြားချပ်ချပ်များပါ 0 င်သည်။
စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက် cache system တစ်ခုဖန်တီးရန် Get_Defined_constants () function ကိုသုံးနိုင်သည်။ Cache ဖိုင်ထဲမှာ Cache ဖိုင်ထဲမှာသိုလှောင်ထားပြီး cache file ကနေနောက်တစ်ခေါက်ရမယ် ။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် cache များကိုသိုလှောင်ရန်အတွက်လမ်းညွှန်တစ်ခုရှိကြောင်းသေချာစေရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, သင်သည် cache ဟုခေါ်သောဖိုင်တွဲတစ်ခုကိုစဉ်ဆက်မပြတ် cache များကိုသိုလှောင်ရန် root directory တွင်ဖန်တီးနိုင်သည်။
$cacheDir = __DIR__ . '/cache/';
if (!file_exists($cacheDir)) {
mkdir($cacheDir, 0777, true);
}
စဉ်ဆက်မပြတ်မထွက်ခွာမီ Cache ဖိုင်ရှိပြီးသားရှိမရှိစစ်ဆေးနိုင်သည်။ အကယ်. cache ဖိုင်တည်ရှိပြီးသက်တမ်းကုန်ဆုံးပါက cache ရှိ Cache ရှိ Conmant သည်တိုက်ရိုက်ဖွင့်ထားသည်။ ဒီလိုမှမဟုတ်ရင် Get_Defined_constants () ကိုထပ်မံခေါ်ယူပြီးရလဒ်ကိုသိမ်းဆည်းထားတယ်။
$cacheFile = $cacheDir . 'constants_cache.php';
if (file_exists($cacheFile) && (filemtime($cacheFile) > (time() - 3600))) {
// cache ဖိုင်တည်ရှိပြီးတစ်နာရီအတွင်းသက်တမ်းကုန်ဆုံးမည်မဟုတ်ပါ,တိုက်ရိုက် cache ကို load
$constants = include($cacheFile);
} else {
// cache ဖိုင်ကိုမတည်ရှိပါသို့မဟုတ်သက်တမ်းကုန်ဆုံးမည်မဟုတ်ပါ,Cache နှင့် cache ကိုပြန်လည်ရယူပါ
$constants = get_defined_constants();
file_put_contents($cacheFile, '<?php return ' . var_export($constants, true) . ';');
}
စဉ်ဆက်မပြတ် cache ကို cached သည်နှင့်အတူကျနော်တို့လိုအပ်သည့်နေရာတိုင်းတွင် cache ကိုတိုက်ရိုက်အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်, Constants နှင့်ဆက်ဆံရာတွင်ကျွန်ုပ်တို့သည်ရိုးရှင်းသောခင်းကျင်းမှုမှတစ်ဆင့်ဆက်နွယ်မှုတစ်ခု၏တန်ဖိုးကိုရနိုင်သည်။
echo $constants['MY_CONSTANT']; // ထုတ်လုပ်ခြင်း MY_CONSTANT ၏တန်ဖိုး
cache files များကို disk space အလွန်အကျွံသောက်ခြင်းကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် cache files များကိုပုံမှန်သန့်ရှင်းနိုင်ပါသည်။ Cache ဖိုင်ကိုဖျက်ရန်သို့မဟုတ် cache ကိုဖျက်ရန်သို့မဟုတ်သတ်သတ်မှတ်မှတ်အခြေအနေများအောက်တွင် cache ကိုရှင်းရှင်းလင်းလင်းသုံးရန် Cache ကိုရွေးချယ်နိုင်သည်။
// cache ကိုရှင်းရှင်းလင်းလင်း
unlink($cacheFile);
Get_Defined_constants ကို အသုံးပြု. ရိုးရှင်းသော cache system တစ်ခုဖန်တီးရန်မည်သို့ပြသသည့် PHP SPORT အပြည့်အဝဖြစ်သည်။
<?php
$cacheDir = __DIR__ . '/cache/';
$cacheFile = $cacheDir . 'constants_cache.php';
// cache ကို directory တစ်ခုဖန်တီးပါ(ဒါမတည်ရှိပါက)
if (!file_exists($cacheDir)) {
mkdir($cacheDir, 0777, true);
}
// cache file ရှိ, မရှိစစ်ဆေးပါ
if (file_exists($cacheFile) && (filemtime($cacheFile) > (time() - 3600))) {
// cache ဖိုင်တည်ရှိပြီးတစ်နာရီအတွင်းသက်တမ်းကုန်ဆုံးမည်မဟုတ်ပါ,တိုက်ရိုက် cache ကို load
$constants = include($cacheFile);
} else {
// cache ဖိုင်ကိုမတည်ရှိပါသို့မဟုတ်သက်တမ်းကုန်ဆုံးမည်မဟုတ်ပါ,Cache နှင့် cache ကိုပြန်လည်ရယူပါ
$constants = get_defined_constants();
file_put_contents($cacheFile, '<?php return ' . var_export($constants, true) . ';');
}
// cache အတွက်စဉ်ဆက်မပြတ်သုံးပါ
echo isset($constants['MY_CONSTANT']) ? $constants['MY_CONSTANT'] : 'အမြဲတမ်းမတည်ရှိပါဘူး';
?>
Get_Defined_constants () function ကိုမြှင့်တင်ခြင်းအားဖြင့် PHP scripts ရှိ Contains အားလုံးကိုအလွယ်တကူရနိုင်သည်။ Containant ပြည်နယ်ကို Cache လုပ်ခြင်းဖြင့်ကျွန်ုပ်တို့သည်အမြဲတမ်းခြစ်ရာကိုခြစ်ရာမှတွက်ချက်ခြင်းကိုရှောင်ရှားနိုင်ပြီးလျှောက်လွှာ၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။ ဒီ cachegy မဟာဗျူဟာသည်အခြေအနေများအတွက်မကြာခဏဖတ်ရန်လိုအပ်သည့်အခြေအနေများအတွက်အကောင်းဆုံးဖြစ်သည်။
အထက်ပါအဆင့်များမှတဆင့်သင်သည်အမြဲတမ်း cache system ကိုသာအကောင်အထည်ဖော်နိုင်သည်, ၎င်းသည်မလိုအပ်သောကွန်ပျူတာ overhead ကိုလျှော့ချနေစဉ်စွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သည်။ အကယ်. သင်သည်ကြီးမားသောစီမံကိန်းများကိုတည်ဆောက်ရာတွင်စွမ်းဆောင်ရည်မြှင့်တင်မှုများကိုကြုံတွေ့ရပါကအမြဲတမ်းဤချဉ်းကပ်မှုကိုအသုံးပြုခြင်းသည်အမြဲတမ်းစီမံခန့်ခွဲမှုများကိုပိုမိုကောင်းမွန်စေရန်စဉ်းစားပါ။