မျက်မှောက်ခေတ် Web Development တွင်မတူညီသော client များသို့မဟုတ်အသုံးပြုသူများသည်ရှေ့တန်းအရင်းအမြစ်များ၏ကွဲပြားခြားနားသောဗားရှင်းများကိုဖွင့်ရန်လိုအပ်နိုင်သည်။ ဥပမာအားဖြင့်, သင်သည်မိုဘိုင်းအတွက်ပေါ့ပါးသော scripts များကို 0 န်ဆောင်မှုပေးလိုခြင်း,
အောင်မြင်ရန် Get_Client_version ဟုခေါ်သော PHP function ကိုကျွန်ုပ်တို့ရေးနိုင်သည်။
Get_Client_Version () function ကို၏အဓိကလုပ်ဆောင်ချက်မှာ -
client အချက်အလက်ကိုရှာဖွေတွေ့ရှိခြင်း (ဥပမာအသုံးပြုသူကိုယ်စားလှယ်များ, ကွတ်ကီးများ, cookies များ,
ရှေ့မျက်နှာပြင်၏ဗားရှင်းနံပါတ်ကိုပြန်ပို့သည်။
version နံပါတ်အရ (ဥပမာ JS, CSS Fils) (ဥပမာ JS, CSS ဖိုင်များ) ကို splice;
Function Deforming နှင့်အရင်းအမြစ် Loading Logic အပါအ 0 င်အပြည့်အဝဥပမာတစ်ခုမှာ -
<?php
/**
* client ကို 0 န်ဆောင်မှုပေးရန်လိုအပ်သည်ဟုရှေ့အဆင့်ဗားရှင်းဗားရှင်းကိုရယူပါ
* အပေါ်အခြေခံနိုင်ပါတယ် User-Agent、Cookie、ပိုမိုရှုပ်ထွေးသောတရားစီရင်ခြင်းယုတ္တိဗေဒကိုအကောင်အထည်ဖော်ရန်အတွက် parameters များနှင့်အခြားနည်းလမ်းများတောင်းဆိုခြင်း
*/
function get_client_version(): string {
// ရိုးရှင်းသောဥပမာ:အရ URL parameters တွေကိုသတ်မှတ်ထားသောဗားရှင်းအတင်း
if (isset($_GET['ver'])) {
return preg_replace('/[^a-zA-Z0-9_\-\.]/', '', $_GET['ver']);
}
// နမူနာ:သွား User-Agent ၎င်းသည်မိုဘိုင်းစက်ရှိမရှိဆုံးဖြတ်ပါ
$userAgent = $_SERVER['HTTP_USER_AGENT'] ?? '';
if (stripos($userAgent, 'Mobile') !== false) {
return 'mobile_v2.1';
}
// ပုံမှန်ဗားရှင်း
return 'desktop_v1.0';
}
/**
* တည်ငြိမ်သောအရင်းအမြစ်များကိုပြည့်စုံအောင်တည်ဆောက်ပါ URL
*/
function asset_url(string $path): string {
$version = get_client_version();
return "https://gitbox.net/assets/{$version}/{$path}";
}
// 使用နမူနာ
$jsUrl = asset_url('app.js');
$cssUrl = asset_url('style.css');
?>
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>动态加载资源နမူနာ</title>
<link rel="stylesheet" href="<?php echo htmlspecialchars($cssUrl); ?>">
</head>
<body>
<h1>Dynud ဗားရှင်းအရင်းအမြစ်စနစ်မှကြိုဆိုပါသည်</h1>
<p>လက်ရှိအရင်းအမြစ်ဗားရှင်း:<?php echo htmlspecialchars(get_client_version()); ?></p>
<script src="<?php echo htmlspecialchars($jsUrl); ?>"></script>
</body>
</html>
အထက်ပါကုဒ်သည် visit ည့်သည်၏ client information သို့မဟုတ်ဝင်လာသော ver parameters များကို အခြေခံ. မည်သည့်အပြီးသတ်အရင်းအမြစ်ဗားရှင်း၏မည်သည့်ဗားရှင်းကို dynamically ဆုံးဖြတ်လိမ့်မည်။ ဥပမာအားဖြင့်:
https://gitbox.net/index.php?ver=test123
→ https://gitbox.net/sets/test123/app.js
Mobile Device Access → Loading: https://gitbox.net/assets/mobile_v2.11.App.js
desktop device ကို default → loading: https://gitbox.net/assets/desktop_v1.0/app.js
Cache ၏မဟာဗျူဟာ - စွမ်းဆောင်ရည်တိုးတက်စေရန် CDN နှင့် browser cache ကိုကျိုးကြောင်းဆီလျော်စွာသတ်မှတ်ထားခြင်း,
အရင်းအမြစ်စီမံခန့်ခွဲမှုစီမံခန့်ခွဲမှုစနစ် - ဗားရှင်းနံပါတ်များကို git tags များနှင့်ပေါင်းစပ်ခြင်းသို့မဟုတ်တည်ဆောက်ခြင်းကိရိယာများကိုအလိုအလျောက်ထုတ်လုပ်ခြင်း,
လုံခြုံရေး - လမ်းကြောင်းဆေးထိုးတိုက်ခိုက်မှုများကိုတားဆီးရန် input version နံပါတ်ကိုတင်းကြပ်စွာ filter လုပ်ပါ။
FORDBACK မဟာဗျူဟာ - သယံဇာတတင်ခြင်းမအောင်မြင်သည့်အခါ decoveration ဖြေရှင်းချက်ကိုပေးပါ။
Get_Client_Version_Version function ကိုမှတစ်ဆင့်ရှေ့တန်းအဆင့်ဗျူဟာ၏မဟာဗျူဟာ၏မဟာဗျူဟာ၏မဟာဗျူဟာကိုသင်ထိန်းချုပ်နိုင်သည်။ ဤနည်းလမ်းသည်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေရုံသာမကရှေ့တွင်ဖြန့်ကျက်ခြင်းနှင့် A / B စစ်ဆေးခြင်းအတွက်အလွန်အဆင်ပြေပါသည်။
သင့်တွင်ဘာသာစကားပေါင်းစုံနှင့်မျိုးစုံအထောက်အပံ့ကဲ့သို့သောရှုပ်ထွေးမှုများပိုမိုများပြားသောလိုအပ်ချက်များရှိပါကသင်၏ရှေ့တွင်အရင်းအမြစ်စီမံခန့်ခွဲမှုနှင့်ပိုမိုထိရောက်စေရန်နှင့်ပိုမိုထိရောက်စေရန်ဤတွင်လည်းတိုးချဲ့နိုင်သည်။