Callback function တစ်ခုအမည်ရှိ code ကို code ကို code တွင်တိုက်ရိုက်သတ်မှတ်ခြင်းထက် code ကို code တွင်သတ်မှတ်ထားသော function ကိုရည်ညွှန်းသည်။ အမည်မသိလုပ်ဆောင်ချက်များနှင့်နှိုင်းယှဉ်လျှင် callback function များသည် reusback function များပိုမိုကောင်းမွန်လာသည်, ပြန်လည်သုံးသပ်ခြင်းနှင့်ပြန်လည်ထူထောင်ခြင်းများလိုအပ်သည့်အခါပိုမိုအဆင်ပြေသည်။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည်အမည်ပေးထားသော callback function ကိုအသုံးပြုခြင်းဥပမာကိုပြသည်။
<?php
// ရိုးရှင်းသော function ကိုသတ်မှတ်ပါ
function greet($name) {
return "Hello, " . $name;
}
// အမည်ရှိ callback လုပ်ဆောင်ချက်များကိုသုံးပါ
function executeCallback($callback, $name) {
return $callback($name);
}
// တယ်လီဖုန်းဆက်ခြင်း executeCallback နှင့်အမည်ရှိ callback function ကိုအတွက် pass
echo executeCallback('greet', 'John'); // ထုတ်လုပ်ခြင်း: Hello, John
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် Gued callback function ကိုအဖြစ် ခေါ်ယူပြီး ExecuteCallback function မှတဆင့်ခေါ်ဆိုသည်။
ကုဒ်၏ဖတ်နိုင်မှုကိုတိုးတက်အောင်လုပ်ပါ အမည်ဝှက် function များအမည်များသည်များသောအားဖြင့်အမည်မသိလုပ်ဆောင်ချက်များထက်ပိုမိုဖတ်ရှုနိုင်သည်။ ဘာဖြစ်လို့လဲဆိုတော့ function ရဲ့နာမည်ကသူ့ရဲ့ရည်ရွယ်ချက်ကိုရှင်းရှင်းလင်းလင်းဖော်ပြနေလို့အခြား developer များက code ၏လုပ်ဆောင်ချက်များကိုနားလည်ရန်ပိုမိုလွယ်ကူစေသည်။
Code reusability <br> <br> Nament Callback လုပ်ဆောင်ချက်များကိုနေရာမျိုးစုံဖြင့်ပြန်လည်မသတ်မှတ်ဘဲနေရာများစွာတွင်ပြန်လည်သုံးသပ်နိုင်သည်။ ဤသည် code ကိုပိုမိုတိကျစွာနှင့်ထိရောက်စေသည်။
Debug ကိုရယူရန်လွယ်ကူသည် အမည်ရှိ callback လုပ်ဆောင်ချက်များကိုအသုံးပြုသောအခါအမှားတစ်ခုဖြစ်ပါကပြ problem နာကို function ၏အမည်အားဖြင့်နေရာချထားနိုင်သည်။ ဆန့်ကျင်ဘက်အနေဖြင့်ဆန့်ကျင်ဘက်အနေဖြင့်အမည်မသိလုပ်ဆောင်ချက်များတွင် debugging ပြ problems နာများကိုဖြေရှင်းရန်အခက်အခဲများကိုတိုးပွားစေသည့်အခါရှင်းလင်းသောပြဌာန်းသူများမရှိပါ။
ထိန်းသိမ်းရန်လွယ်ကူသည် callback function ကိုအမည်ရှိသောအခါ code ကိုထိန်းသိမ်းသူသည် function ကိုပိုမိုလွယ်ကူစွာပြုပြင်နိုင်သည်။ အထူးသဖြင့်ကြီးမားသောစီမံကိန်းများတွင်အမည်ဝှက်ခြင်းလုပ်ဆောင်ချက်များသည်ကုဒ်အဖွဲ့အစည်းဖွဲ့စည်းပုံကိုရှင်းလင်းစေသည်။
PHP သည် array_map , array_filter နှင့် array_walk ကဲ့သို့သောခင်းကျင်းဆင်ခြင်းလုပ်ငန်းများကိုထောက်ပံ့ပေးသည်။ အမည်ပေးထားသော callbacks ကိုအသုံးပြုခြင်းသည်ဤလုပ်ငန်းများကိုပိုမိုရှင်းလင်းစွာနှင့်ပိုမိုတိကျစေနိုင်သည်။
<?php
// Array element တွေကိုကိုင်တွယ်ရန်အမည်ရှိ callback function ကိုသတ်မှတ်ပါ
function square($num) {
return $num * $num;
}
// အမည်ရှိ callback လုပ်ဆောင်ချက်များကိုသုံးပါ对数组进行操作
$numbers = [1, 2, 3, 4];
$squaredNumbers = array_map('square', $numbers);
print_r($squaredNumbers); // ထုတ်လုပ်ခြင်း: [1, 4, 9, 16]
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် array_map တွင်အမည်မသိသောလုပ်ဆောင်ချက်များကိုအသိုက်လုပ်ခြင်းမရှိဘဲ array element များကိုလုပ်ဆောင်ရန်အမည်ရှိ callback function square ကို အသုံးပြုသည်။
အသုံးပြုသူလက်အောက်ခံပုံစံဒေတာများကိုလုပ်ဆောင်သောအခါအမည်ရှိ callback function များကိုအသုံးပြုခြင်းအချက်အလက်စစ်ဆေးခြင်းနှင့်ပြုပြင်ခြင်းအတွက်အသုံးပြုမှုကိုအသုံးပြုခြင်းသည်ပိုမိုထိရောက်စွာထိန်းသိမ်းထားရန်လွယ်ကူသည်။
<?php
// အီးမေးလ်ပုံစံကိုအတည်ပြုရန် function တစ်ခုကိုသတ်မှတ်ပါ
function validateEmail($email) {
return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
}
// အမည်ရှိ callback လုပ်ဆောင်ချက်များကိုသုံးပါ验证表单数据
$email = 'user@m66.net';
if (validateEmail($email)) {
echo "မှန်ကန်သောအီးမေးလ်ပုံစံ";
} else {
echo "အီးမေးလ်ပုံစံအမှား";
}
?>
ဤချဉ်းကပ်မှုသည် validateemail ၏လုပ်ဆောင်မှုတစ်ခုတည်းကိုသေချာစေပြီးအခြားနေရာများတွင်ပြန်လည်အသုံးပြုနိုင်သည်။
PHP တွင် callback function များကိုလည်း URLs များဖြင့်လည်းအသုံးပြုနိုင်သည်။ URL များကိုကိုင်တွယ်ရန် callback function များကိုအသုံးပြုရန်လိုအပ်ဟုယူဆရန်လိုအပ်သည်ဟုယူဆရန်လိုအပ်သည် ။ ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည် calriback function မှတဆင့် URL redirection ကိုမည်သို့လုပ်ဆောင်ရမည်ကိုပြသသည်။