PHP တွင် interface တစ်ခုသည်အတန်းတစ်ခုအကောင်အထည်ဖော်ရမည့်နည်းလမ်းကိုသတ်မှတ်သည့်ဖွဲ့စည်းပုံဖြစ်သည်။ ၎င်းသည်ကုဒ်ကိုပုံမှန်ပြုလုပ်ရန်နှင့် decouple ကိုပုံမှန်ပြုလုပ်ရန်နှင့် Code ၏ထိန်းသိမ်းမှုနှင့်ပမာဏကိုတိုးတက်စေရန်ကူညီသည်။ ကြီးမားသောစီမံကိန်းများတွင်ကျွန်ုပ်တို့ interfaces များကိုအသုံးပြုသောအခါလက်ရှိကုဒ်ဝန်းကျင်တွင်မည်သည့် interfaces တွင်ရှိနေသည်ကိုအလျင်အမြန်နားလည်နိုင်မည်နည်း။ ကံကောင်းထောက်မစွာပင် PHP သည်အလွန်အဆင်ပြေသော built-in function ကိုထောက်ပံ့ပေးသည် - Get_Declared_interfaces () ကိုကျွန်ုပ်တို့အားအလွယ်တကူကြည့်ရှုနိုင်သည်။
interfaces များသည် PHPT ဘာသာစကားဖြင့်စိတ်တဇအမျိုးအစားများဖြစ်သည်။ Interface ကိုအကောင်အထည်ဖော်မည့် class တစ်ခုသည် interface တွင်ကြေငြာထားသောနည်းလမ်းအားလုံးကိုအကောင်အထည်ဖော်ရမည်။ ဤယန္တရားသည်တူညီသော interface specification ကိုလိုက်နာရန်မတူညီသောအတန်းများကိုခွင့်ပြုသည်။
<?php
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
echo "Logging message to a file: $message";
}
}
?>
Get_Declared_interfaces () သည် built-in function တစ်ခုဖြစ်ပြီးလက်ရှိကြေငြာသော interface အမည်များအားလုံး၏စာရင်းကိုပြန်ပို့ပေးသော built-in function တစ်ခုဖြစ်သည်။ ၎င်းသည်မည်သည့် parameters တွေကိုမလိုအပ်ပါ,
ဤလုပ်ဆောင်ချက်သည် debugging, အလိုအလျောက်စာရွက်စာတမ်းမျိုးဆက်များသို့မဟုတ် dynamatically devicatically ကိုခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်အလွန်သင့်လျော်သည်။
Get_Declared_interfaces () ကို လက်ရှိပတ်ဝန်းကျင်ရှိမျက်နှာပြင်အားလုံး၏အမည်များကိုရရှိရန်မည်သို့အသုံးပြုရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// interface ကိုကြေငြာပါ
interface SampleInterface {
public function sampleMethod();
}
// အားလုံးကြေငြာသော interfaces ကိုရယူပါ
$interfaces = get_declared_interfaces();
echo "လက်ရှိကြေငြာမျက်နှာပြင်ရှိပါတယ်:\n";
print_r($interfaces);
?>
အထက်ပါကုဒ်ကိုဖွင့်ပြီးနောက်, နမူနာအရောင်းအ 0 ယ် စာရင်းနှင့် PHP built-in interfaces သည် output ကိုဖြစ်လိမ့်မည်။
သင် interface ၏နည်းလမ်းများကိုထပ်မံကြည့်ရှုလိုပါက PHP ၏ရောင်ပြန်ဟပ်မှုယန္တရားနှင့်ပေါင်းစပ်။ ထင်ဟပ်ပြသည့် အတန်းများကိုသင်အသုံးပြုနိုင်သည်။
<?php
interface ExampleInterface {
public function foo();
public function bar($param);
}
$interfaces = get_declared_interfaces();
foreach ($interfaces as $interface) {
if ($interface === 'ExampleInterface') {
$reflection = new ReflectionClass($interface);
echo "ထိသိျက်နှာ $interface အဆိုပါနည်းလမ်းဖြစ်ပါတယ်:\n";
foreach ($reflection->getMethods() as $method) {
echo "- " . $method->getName() . "\n";
}
}
}
?>
အထက်ပါကုဒ်သည် ဥပမာအား ဖြင့်သတ်မှတ်ထားသောနည်းလမ်းအားလုံးကို output လုပ်လိမ့်မည်။
Get_Declared_interfaces () , ကျွန်ုပ်တို့သည် Runte တွင် interface list ကိုပြောင်းလဲနိုင်ပြီးပရိုဂရမ်ရှိ interfaces ၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုနားလည်ခြင်းနှင့်ထိန်းသိမ်းရန်ပိုမိုလွယ်ကူစေသည်။ အထူးသဖြင့်ကြီးမားသောစီမံကိန်းများတွင် interfaces များစွာရှိလျှင်ဤလုပ်ဆောင်ချက်သည်သတင်းအချက်အလက်များကိုလျင်မြန်စွာအတိုချုပ်ဖော်ပြပြီးလက်စွဲရှာဖွေမှုအတွက်အချိန်များစွာသက်သာစေနိုင်သည်။