Функция forward_static_call
forward_static_call функциясы класстың статикалық әдісін
кешіктірілген статикалық байланысты (Late Static Binding) пайдаланып шақыруға мүмкіндік береді. Бірінші параметр ретінде
массив түріндегі [класс, әдіс] callback-функциясы немесе әдіс атауы жіберіледі,
ал келесі параметрлер - шақырылатын әдіс үшін аргументтер болып табылады.
Синтаксис
forward_static_call(callable $callback, mixed ...$args): mixed
Мысал
Статикалық әдісті forward_static_call арқылы шақыру:
<?php
class A {
public static function test() {
return static::class;
}
}
class B extends A {}
$res = forward_static_call(['B', 'test']);
echo $res;
?>
Кодты орындау нәтижесі:
'B'
Мысал
Аргументтерді шақырылатын әдіске жіберу:
<?php
class Calculator {
public static function add($a, $b) {
return $a + $b;
}
}
$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>
Кодты орындау нәтижесі:
8
Сондай-ақ қараңыз
-
call_user_funcфункциясы,
ол callback-функциясын шақырады -
forward_static_call_arrayфункциясы,
ол forward_static_call-ға ұқсас, бірақ аргументтерді массив түрінде қабылдайды