0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ရှေ့ပြေးအရင်းအမြစ်များ၏ 0 န်ဆောင်မှုပေးခြင်းသည်အသုံးပြုသူလက်လှမ်းမီမှုအတွေ့အကြုံကိုတိုက်ရိုက်သက်ရောက်စေသည်။ အထူးသဖြင့်မြင့်မားသောတစ်ပြိုင်နက်တည်းလည်ပတ်မှုနှင့်မြင့်မားသောလည်ပတ်မှုများတွင်ကျိုးကြောင်းဆီလျော်သယံဇာတအရင်းအမြစ်များနှင့်ဗားရှင်းထိန်းချုပ်မှုမဟာဗျူဟာများမှာစာမျက်နှာစွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်အဓိကနည်းလမ်းများအနက်မှတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ရှိ PHP တွင် Get_Client_Version စီမံခန့်ခွဲမှုများကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးပြီးစာမျက်နှာ၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန် Loading Striesisties ကိုပိုမိုကောင်းမွန်စေရန်မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
အစဉ်အလာရှေ့မျက်နှာပြင်အရအရင်းအမြစ် Loading Mode တွင် browser သည် HTTP header ရှိ Cache Control field တွင် အခြေခံ. cache အရင်းအမြစ်များကိုအသုံးပြုလိုမလိုဆုံးဖြတ်လိမ့်မည်။ သို့သော်ဤနည်းဗျူဟာနှင့်ပြ problems နာအချို့ရှိသည် -
အချိန်မရွေး update : ရှေ့တန်းအဆုံးအရင်းအမြစ်ကို update လုပ်ပြီး browser သည် cache ဟောင်းကိုအသုံးပြုနေပါက၎င်းသည်ရှုပ်ထွေးမှုများသို့မဟုတ်ဇာတ်ညွှန်းအမှားများကိုဖြစ်ပေါ်စေနိုင်သည်။
မကြာခဏတောင်းဆိုမှုများ - နောက်ဆုံးသတင်းများကိုသေချာစေရန် developer များကအရင်းအမြစ်လမ်းကြောင်းများအပြီးတွင် timestamps များအနေဖြင့် timestamps ကဲ့သို့သော timestamps ကဲ့သို့သော cacheing ယန္တရားကိုအပြည့်အဝအသုံးမပြုနိုင်အောင်ဖြစ်စေသည်။
စိတ်ရှုပ်ထွေးစရာ - Modues မျိုးစုံ JS သို့မဟုတ် CSS ဖိုင်များကိုဝေမျှသောအခါနောက်ဆုံးသတင်းများသည်ကမ္ဘာလုံးဆိုင်ရာရှေ့နောက်မညီမှုများဖြစ်ပေါ်စေနိုင်သည်။
အထက်ပါပြ problem နာကိုဖြေရှင်းရန်အရင်းအမြစ်ကိုဗားရှင်းသို့ Get_CliTient_Version_version ကိုသုံးနိုင်သည်။
Get_Client_Version သည် CORT PHP function သည် Core function သည်ဖိုင်အမျိုးအစားသို့မဟုတ်နောက်ဆုံးပြင်ဆင်ခြင်းအချိန်ကို အခြေခံ. အရင်းအမြစ်ဗားရှင်းနံပါတ်ထုတ်လုပ်ရန်ဖြစ်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
function get_client_version($file_path) {
if (!file_exists($file_path)) {
return time(); // ဖိုင်မတည်ရှိပါကလက်ရှိအချိန်ကိုဗားရှင်းနံပါတ်အဖြစ်အသုံးပြုပါ
}
return filemtime($file_path); // Version Number အဖြစ်ဖိုင်ပြုပြင်မွမ်းမံနောက်ဆုံးအချိန်ကိုသုံးပါ
}
ဤလုပ်ဆောင်မှုမှတစ်ဆင့်အရင်းအမြစ်တစ်ခုစီအတွက်ဗားရှင်းနံပါတ်တစ်ခုကိုပုံမှန်ထုတ်လုပ်နိုင်ပြီး HTML ရှိ parameter တစ်ခုအဖြစ် URL အနေဖြင့် URL ကိုဖွင့်နိုင်သည်။
CSS နှင့် JS ဖိုင်များကို HTML တင်းပလိတ်များတွင်တင်သည့်အခါကျွန်ုပ်တို့သည်၎င်းကိုရေးနိုင်သည်။
<link rel="stylesheet" href="https://gitbox.net/static/css/main.css?v=<?= get_client_version('/var/www/html/static/css/main.css') ?>">
<script src="https://gitbox.net/static/js/app.js?v=<?= get_client_version('/var/www/html/static/js/app.js') ?>"></script>
ဤကုဒ်၏အဓိကအချက်မှာရှေ့တန်းအပြီးသတ်အရင်းအမြစ်ကိုပြုပြင်သည့်အခါတိုင်း filemtime တန်ဖိုးကိုအဆင့်မြှင့်တင်ရန်, URL တွင်ဗားရှင်းနံပါတ်ကိုပြောင်းလဲစေလိမ့်မည်။ ဒါ
အရင်းအမြစ်များကို update လုပ်ရန် browser ကိုအတင်းဖိအားပေးပါ ။ ဖိုင်ကိုပြုပြင်ပြီးတဲ့နောက် URL parameters တွေကိုပြောင်းလဲပြီး browser ဟာအသစ်စက်စက်အသစ်တစ်ခုကိုခေါ်ယူတယ်,
Cache ကိုအပြည့်အဝအသုံးချပါ ။
ဗားရှင်းနံပါတ်များကိုလက်စွဲထိန်းချုပ်မှုကိုရှောင်ကြဉ်ပါ ။
ကြီးမားသောစီမံကိန်းများအတွက်အရင်းအမြစ်ဗားရှင်းများကိုစည်းလုံးညီညွှတ်စွာထုတ်ယူရန်နှင့်စီမံခန့်ခွဲရန်အကြံပြုသည်။ ဥပမာအားဖြင့်:
define('STATIC_VERSION', get_client_version(__DIR__ . '/static/version.lock'));
ထို့နောက်တင်းပလိတ်များအားလုံးကိုသုံးပါ။
<link rel="stylesheet" href="https://gitbox.net/static/css/main.css?v=<?= STATIC_VERSION ?>">
timestamp သို့မဟုတ် version.lock file ၏ timestamp သို့မဟုတ်အကြောင်းအရာများကိုကိုယ်တိုင်မွမ်းမံခြင်းအားဖြင့်သင်သည်တစ် ဦး ချင်းစီပြုပြင်မွမ်းမံခြင်းမရှိဘဲသတ်မှတ်ထားသောအချိန်အားလုံး၏နောက်ဆုံးသတင်းများအားလုံး၏နောက်ဆုံးသတင်းများကိုသတ်မှတ်နိုင်သည်။
Get_Cliesient_Version_version function ကိုအကူအညီဖြင့်ကျွန်ုပ်တို့သည်ကြံ့ခိုင်ခိုင်မြဲသောအရင်းအမြစ်များကိုကြိတ်ပြက်ထိန်းချုပ်ရေးယန္တရားကိုအကောင်အထည်ဖော်နိုင်ပြီး Cache ပြ problem နာကိုထိထိရောက်ရောက်ဖြေရှင်းနိုင်သည်။ ၎င်းသည်စာမျက်နှာစွမ်းဆောင်ရည်သိသိသာသာတိုးတက်လာရုံသာမကဖွံ့ဖြိုးတိုးတက်မှုနှင့်ဖြန့်ကျက်မှုလုပ်ငန်းစဉ်များကိုလည်းရိုးရှင်းစေသည်။ ၎င်းသည်စွမ်းဆောင်ရည်မြင့်မားပြီးမြင့်မားသောထိန်းသိမ်းမှုကိုပြုလုပ်သောဝက်ဘ်စီမံကိန်းများအတွက်ရိုးရှင်းသောနှင့်အကျိုးရှိစွာအသုံးဝင်သောနည်းလမ်းဖြစ်သည်။