__invoke နည်းလမ်း
မှော်ဆန်သော နည်းလမ်း __invoke သည် class ၏ နမူနာတစ်ခုကို လုပ်ဆောင်ချက်တစ်ခုအနေဖြင့် ခေါ်ယူနိုင်စေပါသည်။
အရာဝတ္ထုတစ်ခုကို လုပ်ဆောင်ချက်တစ်ခုအနေဖြင့် ခေါ်ယူသောအခါ၊ PHP သည် ဤနည်းလမ်းကို အလိုအလျောက် ခေါ်ယူပါသည်။
ဤနည်းလမ်းသည် သာမန်လုပ်ဆောင်ချက်တစ်ခုကဲ့သို့ပင် သတ်မှတ်ချက်များ လက်ခံနိုင်ပြီး တန်ဖိုးတစ်ခု ပြန်ပေးနိုင်ပါသည်။
စာကြည့်ပုံစံ
class MyClass {
public function __invoke(...$args) {
// အကောင်အထည်ဖော်ခြင်း
}
}
နမူနာ
နည်းလမ်း __invoke ပါရှိသော class တစ်ခုကို ဖန်တီးပြီး အရာဝတ္ထုကို လုပ်ဆောင်ချက်တစ်ခုအနေဖြင့် ခေါ်ယူကြပါစို့။
<?php
class Greeter {
public function __invoke($name) {
return "Hello, $name!";
}
}
$greet = new Greeter();
echo $greet('John');
?>
ကုဒ် လုပ်ဆောင်ချက်၏ ရလဒ်။
'Hello, John!'
နမူနာ
သတ်မှတ်ချက် အများအပြားဖြင့် __invoke ကို အသုံးပြုခြင်း။
<?php
class Calculator {
public function __invoke($a, $b) {
return $a + $b;
}
}
$calc = new Calculator();
echo $calc(5, 3);
?>
ကုဒ် လုပ်ဆောင်ချက်၏ ရလဒ်။
8
နမူနာ
အရာဝတ္ထုသည် is_callable ဖြင့် ခေါ်ယူနိုင်မနိုင်စစ်ဆေးခြင်း။
<?php
class Test {}
$obj1 = new Test();
$obj2 = new class { public function __invoke() {} };
var_dump(is_callable($obj1));
var_dump(is_callable($obj2));
?>
ကုဒ် လုပ်ဆောင်ချက်၏ ရလဒ်။
false
true
ဆက်လက်ကြည့်ရှုရန်
-
နည်းလမ်း
__construct,
အရာဝတ္ထု class ၏ ဖန်တီးသူ ဖြစ်ပါသည်။ -
နည်းလမ်း
__toString,
အရာဝတ္ထုကို စာသားအနေဖြင့် ကိုယ်စားပြုခွင့်ပြုပါသည်။