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