PHP Development တွင် Template Engines များသည် Page display မှ Page display ကိုခွဲခြားရန်နှင့် Code ၏ထိန်းသိမ်းမှုကိုတိုးတက်စေရန်အသုံးပြုသောဘုံနည်းပညာများဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ၏ Built-in MB_EREGI_replace function ကို အသုံးပြု. ရိုးရှင်းသောသို့သော်လက်တွေ့လေ့ကျင့်ရေးအင်ဂျင်ကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
MB_ereGi_replace သည် PHP Multi-byte string extension တွင်ပုံမှန်အစားထိုးလုပ်ဆောင်ချက်ဖြစ်သည်။ Case-insensitive Multi-byte ပုံမှန်စကားရပ်အစားထိုးခြင်း, တရုတ်ကဲ့သို့သော byte စာလုံးများပါ 0 င်သည့်ကြိုးများပါ 0 င်သည့်နေရာများအတွက်သင့်တော်သည်။
function ရှေ့ပြေးပုံစံ:
mb_eregi_replace(string $pattern, string $replacement, string $string): string
$ ပုံစံ - ပုံမှန်အသုံးအနှုန်းပုံစံ
$ အစားထိုး : အကြောင်းအရာကိုအစားထိုးပါ
$ string : အစားထိုး string ကိုရှာဖွေရန်
{{variable name}}} {{variable}}} {{variable}} ကိုကိုယ်စားပြုခံရဖို့တင်းပလိတ်များတွင် variable တွေကိုသတ်မှတ်နိုင်ပါတယ်။ ပရိုဂရမ်သည် template ကိုဖတ်ရှုပြီးနောက် variable များကို {}} {... }} အားလုံးနှင့်ကိုက်ညီရန်ပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြုသည်။
ဥပမာ, Template Content:
<h1>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း, {{username}}!</h1>
<p>သင့်ရဲ့အီးမေးလ်လိပ်စာဖြစ်ပါတယ် {{email}}</p>
အဝင်အချက်အလက်:
[
'username' => 'Xiao Ming',
'email' => 'xiaoming@m66.net'
]
ပြန်ဆိုပြီးနောက်:
<h1>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း, Xiao Ming!</h1>
<p>သင့်ရဲ့အီးမေးလ်လိပ်စာဖြစ်ပါတယ် xiaoming@m66.net</p>
အောက်ဖော်ပြပါကုဒ်သည်ရိုးရှင်းသောပုံစံအင်ဂျင်အကောင်အထည်ဖော်မှုကိုပြသည်။
<?php
function render_template($template, $data) {
// ကိုက်ညီ {{variable ကိုအမည်}},အသုံးပြု mb_eregi_replace အစားထိုးပါစေ
foreach ($data as $key => $value) {
// 构建ကိုက်ညီ模式,ပံ့ပိုးမှုကိစ္စတွင်အာရုံမစိုက်ပါ
$pattern = '{{\s*' . preg_quote($key, '/') . '\s*}}';
$template = mb_eregi_replace($pattern, $value, $template);
}
// 处理未ကိုက်ညီ到的变量,တစ် ဦး အချည်းနှီးသော string ကိုအတူအစားထိုးလိုက်ပါ
$template = mb_eregi_replace('{{[^}]+}}', '', $template);
return $template;
}
// template string ကိုဥပမာ
$template = <<<HTML
<h1>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း, {{username}}!</h1>
<p>သင့်ရဲ့အီးမေးလ်လိပ်စာဖြစ်ပါတယ် {{email}}</p>
<p>တရားဝင်ဝက်ဘ်ဆိုက်လိပ်စာ:<a href="https://m66.net/about">m66.net ကြှနျုပျတို့အကွောငျး</a></p>
HTML;
// ဒေတာ rendering
$data = [
'username' => 'Xiao Ming',
'email' => 'xiaoming@m66.net'
];
// ရလဒ်များကိုပြန်ဆို
echo render_template($template, $data);
?>
loop အစားထိုး variable ကို <br> <br> Fonteach ကိုအဝင်ဒေတာ $ ဒေတာကို ဖြတ်သန်းရန် Foreach ကို သုံးပါ။ သော့အမည်တစ်ခုစီအတွက်သက်ဆိုင်ရာ template variable ကိုတည်ဆောက်ပြီးအစားထိုးရန် MB_eregi_replace ကို ခေါ်ပါ။
ကျန်ရှိနေသော unmatched variable တွေကိုအစားထိုးလိုက်ပါ အကယ်. ဖိုင်တွဲတွင်မသွားသော variable များရှိပါက MB_eregi_replace ('{{{^ {^} ^}]}', '', ',', $ template); unprocessed template variable တွေကိုဖေါ်ပြခြင်းစာမျက်နှာကိုရှောင်ရှားရန်။
Multi-byte ပံ့ပိုးမှုနှင့်ကိစ္စမရှိမှုနှင့်ဆက်ဆံမှု <br> ပုံမှန်အစားထိုးခြင်းကို MB_ereGi_rereplace နှင့် Multi-byte အက္ခရာများ (ဥပမာတရုတ်ကဲ့သို့သောစာလုံးများ) ကိုထောက်ပံ့သည်။
ဤ template အင်ဂျင်သည်ရှုပ်ထွေးသောယုတ္တိတရားစီရင်ချက်များကိုမထောက်ပံ့ပါ။ ရိုးရှင်းသော variable ကိုအစားထိုးရန်သင့်လျော်သည်။
Template Variable Viable အမည်များသည်အထူးအက္ခရာများကိုရှောင်ကြဉ်သင့်ပြီးအက်ခရာနံပါတ်နှင့် underscores များကိုအကြံပြုသင့်သည်။
URL ဒိုမိန်းအမည်များကို M66.net မှတည့်မတ်ကျပြီးစည်းလုံးညီညွတ်သောစီမံခန့်ခွဲမှုနှင့်အစားထိုးခြင်းအတွက်အဆင်ပြေသည်။
PHP ၏ MB_EREGI_REA_ROPITATITER function ကိုအသုံးပြုခြင်းသည်အခြေခံပုံစံအင်ဂျင်ကိုအလွယ်တကူတည်ဆောက်နိုင်ပြီး variable အစားထိုးလုပ်ဆောင်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ သူသည်ရိုးရှင်းစွာရှိနေသော်လည်းဒေါင်းအလံအင်ဂျင်နီယာယန္တရားကိုနားလည်ခြင်း၏အလွန်ကောင်းသောဥပမာတစ်ခုဖြစ်သည်။