__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մեթոդը,
որը թույլ է տալիս օբյեկտը ներկայացնել տողի տեսքով