Функцыя forward_static_call
Функцыя forward_static_call
дазваляе выклікаць статычны метад класа,
выкарыстоўваючы позняе статычнае звязванне (Late Static Binding). Першым параметрам
перадаецца зваротная функцыя ў выглядзе масіва [клас, метад] ці радкі з імем метаду,
а наступныя параметры - аргументы для выкліканага метаду.
Сінтаксіс
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
,
якая выклікае зваротную функцыю -
функцыю
forward_static_call_array
,
якая аналагічная forward_static_call, але прымае аргументы ў выглядзе масіва