Функция 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, но принимает аргументы в виде массива