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