__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,
වස්තුවක් නූලක් ලෙස නිරූපණය කිරීමට ඉඩ සලසයි