__invoke মেথড
ম্যাজিক মেথড __invoke একটি ক্লাসের ইনস্ট্যান্সকে একটি ফাংশন হিসাবে কল করা সম্ভব করে।
যখন একটি অবজেক্টকে একটি ফাংশন হিসাবে কল করা হয়, PHP স্বয়ংক্রিয়ভাবে এই মেথডটি কল করে।
মেথডটি প্যারামিটার নিতে পারে এবং একটি মান ফেরত দিতে পারে, ঠিক একটি সাধারণ ফাংশনের মতো।
সিনট্যাক্স
class MyClass {
public function __invoke(...$args) {
// বাস্তবায়ন
}
}
উদাহরণ
আসুন __invoke মেথড সহ একটি ক্লাস তৈরি করি এবং অবজেক্টটিকে একটি ফাংশন হিসাবে কল করি:
<?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মেথড,
যা ক্লাসের কনস্ট্রাক্টর -
__toStringমেথড,
যা একটি অবজেক্টকে স্ট্রিং হিসাবে উপস্থাপন করতে দেয়