Функција forward_static_call

Функцијата forward_static_call овозможува повикување на статички метод на класа, користејќи доцна статичка врска (Late Static Binding). Како прв параметар се пренесува callback-функција во вид на низа [класа, метод] или стринг со име на метод, а следните параметри се аргументи за повиканиот метод.

Синтакса

phpforward_static_call(callable $callback, mixed ...$args): mixed

Пример

Повикување на статички метод преку forward_static_call:

php<?php
class A {
  public static function test() {
    return static::class;
  }
}

class B extends A {}

$res = forward_static_call(['B', 'test']);
echo $res;
?>

Резултат од извршување на кодот:

php'B'

Пример

Пренос на аргументи во повиканиот метод:

php<?php
class Calculator {
  public static function add($a, $b) {
    return $a + $b;
  }
}

$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>

Резултат од извршување на кодот:

php8

Погледнете ги исто така

  • функцијата call_user_func,
    која повикува callback-функција
  • функцијата forward_static_call_array,
    која е аналогна на forward_static_call, но прифаќа аргументи во вид на низа