PHP တွင် PREG_RESTER_CALLESTER_CALLASK_ARARAY function သည်ပုံမှန်အသုံးအနှုန်းများနှင့် callback လုပ်ဆောင်ချက်များကို အခြေခံ. စာသားများကိုလုပ်ဆောင်နိုင်သည့်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်ကိုကနူးညံ့သိမ်မွေ့စွာအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် variable များကို html တင်းပလိတ်များထဲသို့အလွယ်တကူထည့်သွင်းထားသည့်ရိုးရှင်းသောပုံစံအင်ဂျင်ကိုအကောင်အထည်ဖော်နိုင်သည်။
Preg_replace_callback_array ကို အသုံးပြု. ရိုးရှင်းသော template engine တစ်ခုကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။
Preg_replace_callback_array သည် PHP တွင်ပုံမှန်စကားရပ်ကိုအခြေခံသည့်အစားထိုးလုပ်ငန်းများကိုလုပ်ဆောင်သော function တစ်ခုဖြစ်သည်။ ကိုက်ညီသောပုံမှန်စကားရပ်တစ်ခုစီအတွက် callback function ကိုသတ်မှတ်နိုင်သည်။ callback function ကိုကိုက်ညီသောအကြောင်းအရာအပေါ် အခြေခံ. စိတ်ကြိုက်ပြုလုပ်နိုင်ပြီးနောက်ဆုံးအစားထိုးရလဒ်ကိုပြန်ပို့သည်။
function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
preg_replace_callback_array(array $patterns_and_callbacks, string $subject);
$ patternals_and_callbacks : သော့ချက်များသည်ပုံမှန်အသုံးအနှုန်းများနှင့်တန်ဖိုးများသည် callback functions များဖြစ်သည်။
$ အကြောင်းအရာ - လုပ်ငန်းများ၌တင်ရန် string ကို။
တင်းပလိတ်များတွင် variable များကိုအစားထိုး။ ရိုးရှင်းသောခြွင်းချက်ယုတ္တိဗေဒကိုထောက်ပံ့သောရိုးရှင်းသော template အင်ဂျင်ကိုကျွန်ုပ်တို့ဖန်တီးပါမည်။ Preg_replace_callback_array ဖြင့်ကျွန်ုပ်တို့သည်ဤ function ကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။
ကျွန်ုပ်တို့တွင်ရိုးရှင်းသော HTML template တစ်ခုရှိသည်ဆိုပါစို့ ။
$template = "<h1>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း,{{name}}!</h1><p>{{message}}</p>";
$variables = [
'name' => 'Zhang San',
'message' => 'ဤတွင်ရိုးရှင်းသော template ကိုအင်ဂျင်ဥပမာတစ်ခုဖြစ်သည်。',
];
placeholder အစားထိုးစည်းမျဉ်းများကိုသတ်မှတ်ရန် Preg_replace_callback_Array ကို သုံးပါမည်။ အဓိကအလုပ်နှစ်ခုကိုကိုင်တွယ်ရန်လိုအပ်သည်။
အမှန်တကယ်တန်ဖိုးများကို (ဥပမာ, {{အမည်}}} ) ကိုအစားထိုးပါ။
အခြေအနေများအရကွဲပြားခြားနားသောအကြောင်းအရာများကိုပြသခြင်းကဲ့သို့သောစိတ်ကြိုက်ဟန်ချက်ကိုကိုင်တွယ်ပါ။
ဤလုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်အတွက်သင့်တော်သောပုံမှန်အသုံးအနှုန်းများကိုတည်ဆောက်ရန်နှင့်ပုံမှန်ဖော်ပြချက်တစ်ခုစီအတွက် callback function ကိုသတ်မှတ်ရန်လိုအပ်သည်။
အောက်ပါသည် Template အင်ဂျင်ကိုအကောင်အထည်ဖော်သည့် PHP ကုဒ်ဖြစ်သည်။
<?php
$template = "<h1>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း,{{name}}!</h1><p>{{message}}</p>";
$variables = [
'name' => 'Zhang San',
'message' => 'ဤတွင်ရိုးရှင်းသော template ကိုအင်ဂျင်ဥပမာတစ်ခုဖြစ်သည်。',
];
// အသုံးပြု preg_replace_callback_array template အင်ဂျင်ကိုအကောင်အထည်ဖော်ပါ
$patterns_and_callbacks = [
'/{{(.*?)}}/' => function ($matches) use ($variables) {
$key = $matches[1];
return isset($variables[$key]) ? $variables[$key] : '';
},
];
$output = preg_replace_callback_array($patterns_and_callbacks, $template);
echo $output;
The $patterns_and_callbacks array defines a regular expression /{{(.*?)}}/ , which matches placeholders in the template (e.g. {{name}} ).
လိုက်ဖက်တဲ့ placeholder တစ်ခုချင်းစီအတွက် callback function မှတဆင့် $ variable တွေကို array အတွက်အမှန်တကယ်တန်ဖိုးနှင့်အစားထိုး။ သက်ဆိုင်ရာ variable ကိုမတွေ့ရှိနိုင်ပါက callback function သည်အချည်းနှီးသောကြိုးကိုပြန်ပို့သည်။
Template အင်ဂျင်ကိုပိုမိုအားကောင်းစေရန်အတွက်အချို့သောအခြေအနေကို အခြေခံ. အကြောင်းအရာတစ်ခုအပေါ် အခြေခံ. အကြောင်းအရာအချို့ကိုပြသရန်ရှိမရှိဆုံးဖြတ်ခြင်းကဲ့သို့သောခြွင်းချက်စည်းကမ်းချက်များကိုထောက်ခံရန်အထောက်အပံ့များထည့်နိုင်သည်။ ဒီ function ကိုအကောင်အထည်ဖော်ဖို့ syntax ကို syntax ကိုသုံးနိုင်တယ်။
ဤတွင်ပုံစံတစ် ဦး တွင်ရိုးရှင်းသောခြွင်းချက်ဆိုင်ရာတရားစွဲဆိုမှုများကိုမည်သို့အသုံးပြုရမည်ကိုဖော်ပြသည့်ဥပမာတစ်ခုမှာ -
<?php
$template = "<h1>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း,{{name}}!</h1>{{if show_message}}<p>{{message}}</p>{{endif}}";
$variables = [
'name' => 'Zhang San',
'message' => 'ဤတွင်ရိုးရှင်းသော template ကိုအင်ဂျင်ဥပမာတစ်ခုဖြစ်သည်。',
'show_message' => true, // မက်ဆေ့ခ်ျကိုဖော်ပြရန်ရှိမရှိထိန်းချုပ်မှု
];
// အသုံးပြု preg_replace_callback_array template အင်ဂျင်ကိုအကောင်အထည်ဖော်ပါ
$patterns_and_callbacks = [
'/{{(.*?)}}/' => function ($matches) use ($variables) {
$key = $matches[1];
return isset($variables[$key]) ? $variables[$key] : '';
},
'/{{if (.*?)}}(.*?){{endif}}/s' => function ($matches) use ($variables) {
$condition = $matches[1];
$content = $matches[2];
// အခြေအနေများနှင့်တရားသူကြီးကိုဆန်းစစ်ပါ
if (isset($variables[$condition]) && $variables[$condition]) {
return $content;
}
return '';
},
];
$output = preg_replace_callback_array($patterns_and_callbacks, $template);
echo $output;
အသစ်သောပုံမှန်အသုံးအနှုန်း / {{လျှင်။ *?) {{endif}} {endif}}} {endif} / s ကို ခြွင်းချက်ကြေငြာချက်ကိုက်ညီရန်ထည့်သွင်းထားသည်။
callback function သည် {{}}}}}} မှန်သည်ဖြစ်စေစစ်ဆေးသည်။ မှန်လျှင် {{message}}} ကိုပြသသည်။ မှားယွင်းသော်လျှင်ဘာမျှမပြပါ။
Preg_replace_callback_array မှတစ်ဆင့်တင်းပလိတ်များ၌အမျိုးမျိုးသောအစားထိုးခြင်းနှင့်ခြွင်းချက်စည်းကမ်းထိန်းသိမ်းခြင်းကိုကိုင်တွယ်သောအလွန်ရိုးရှင်းသော template အင်ဂျင်ကိုကျွန်ုပ်တို့အကောင်အထည်ဖော်နိုင်သည်။ ဤအင်ဂျင်သည်အလွန်အခြေခံထားသော်လည်းပုံစံအင်ဂျင်၏အဓိကလုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်ရန်ပုံမှန်အသုံးအနှုန်းများနှင့် callback function များကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည်။ ဤကဲ့သို့သောကွင်းဆက်, စစ်ထုတ်ခြင်းများ, မက်ခရိုအဓိပ္ပာယ်ဖွင့်ဆိုချက်များစသည့်ဤအခြေခံတွင်ပိုမိုရှုပ်ထွေးသောလုပ်ဆောင်မှုများကိုတိုးချဲ့နိုင်ပြီးပိုမိုအားကောင်းသည့်ပုံစံအင်ဂျင်ကိုတည်ဆောက်နိုင်သည်။