လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Get_Client_version ကိုရှေ့တန်းတင်ရန် Loading မဟာဗျူဟာကိုအကောင်းဆုံးဖြစ်စေရန်အသုံးပြုပါ

Get_Client_version ကိုရှေ့တန်းတင်ရန် Loading မဟာဗျူဟာကိုအကောင်းဆုံးဖြစ်စေရန်အသုံးပြုပါ

gitbox 2025-05-11

0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ရှေ့ပြေးအရင်းအမြစ်များ၏ 0 န်ဆောင်မှုပေးခြင်းသည်အသုံးပြုသူလက်လှမ်းမီမှုအတွေ့အကြုံကိုတိုက်ရိုက်သက်ရောက်စေသည်။ အထူးသဖြင့်မြင့်မားသောတစ်ပြိုင်နက်တည်းလည်ပတ်မှုနှင့်မြင့်မားသောလည်ပတ်မှုများတွင်ကျိုးကြောင်းဆီလျော်သယံဇာတအရင်းအမြစ်များနှင့်ဗားရှင်းထိန်းချုပ်မှုမဟာဗျူဟာများမှာစာမျက်နှာစွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်အဓိကနည်းလမ်းများအနက်မှတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ရှိ PHP တွင် Get_Client_Version စီမံခန့်ခွဲမှုများကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးပြီးစာမျက်နှာ၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန် Loading Striesisties ကိုပိုမိုကောင်းမွန်စေရန်မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ မကြာခဏဆိုသလိုအရင်းအမြစ်များကိုတင်ဆောင်လာသောမေးခွန်းများမေး

အစဉ်အလာရှေ့မျက်နှာပြင်အရအရင်းအမြစ် 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 ကိုသုံးနိုင်သည်။

2 ။ get_client_version_version function ကို၏အခန်းကဏ်။

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 ကိုဖွင့်နိုင်သည်။

3 ။ လက်တွေ့ကျသောလျှောက်လွှာ - သယံဇာတတင်ရေးမဟာဗျူဟာကိုအကောင်းဆုံးလုပ်ပါ

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 တွင်ဗားရှင်းနံပါတ်ကိုပြောင်းလဲစေလိမ့်မည်။ ဒါ

  1. အရင်းအမြစ်များကို update လုပ်ရန် browser ကိုအတင်းဖိအားပေးပါ ။ ဖိုင်ကိုပြုပြင်ပြီးတဲ့နောက် URL parameters တွေကိုပြောင်းလဲပြီး browser ဟာအသစ်စက်စက်အသစ်တစ်ခုကိုခေါ်ယူတယ်,

  2. Cache ကိုအပြည့်အဝအသုံးချပါ

  3. ဗားရှင်းနံပါတ်များကိုလက်စွဲထိန်းချုပ်မှုကိုရှောင်ကြဉ်ပါ

4 ။ အဆင့်မြင့်အကောင်းမြင်: ဗားရှင်းနံပါတ်များ၏စည်းလုံးညီညွတ်ရေးစီမံခန့်ခွဲမှု

ကြီးမားသောစီမံကိန်းများအတွက်အရင်းအမြစ်ဗားရှင်းများကိုစည်းလုံးညီညွှတ်စွာထုတ်ယူရန်နှင့်စီမံခန့်ခွဲရန်အကြံပြုသည်။ ဥပမာအားဖြင့်:

 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 သို့မဟုတ်အကြောင်းအရာများကိုကိုယ်တိုင်မွမ်းမံခြင်းအားဖြင့်သင်သည်တစ် ဦး ချင်းစီပြုပြင်မွမ်းမံခြင်းမရှိဘဲသတ်မှတ်ထားသောအချိန်အားလုံး၏နောက်ဆုံးသတင်းများအားလုံး၏နောက်ဆုံးသတင်းများကိုသတ်မှတ်နိုင်သည်။

V. နိဂုံးချုပ်

Get_Cliesient_Version_version function ကိုအကူအညီဖြင့်ကျွန်ုပ်တို့သည်ကြံ့ခိုင်ခိုင်မြဲသောအရင်းအမြစ်များကိုကြိတ်ပြက်ထိန်းချုပ်ရေးယန္တရားကိုအကောင်အထည်ဖော်နိုင်ပြီး Cache ပြ problem နာကိုထိထိရောက်ရောက်ဖြေရှင်းနိုင်သည်။ ၎င်းသည်စာမျက်နှာစွမ်းဆောင်ရည်သိသိသာသာတိုးတက်လာရုံသာမကဖွံ့ဖြိုးတိုးတက်မှုနှင့်ဖြန့်ကျက်မှုလုပ်ငန်းစဉ်များကိုလည်းရိုးရှင်းစေသည်။ ၎င်းသည်စွမ်းဆောင်ရည်မြင့်မားပြီးမြင့်မားသောထိန်းသိမ်းမှုကိုပြုလုပ်သောဝက်ဘ်စီမံကိန်းများအတွက်ရိုးရှင်းသောနှင့်အကျိုးရှိစွာအသုံးဝင်သောနည်းလမ်းဖြစ်သည်။