A forward_static_call függvény

A forward_static_call függvény lehetővé teszi egy osztály statikus metódusának meghívását, késői statikus kötés (Late Static Binding) használatával. Az első paraméterként egy callback függvény kerül átadásra [osztály, metódus] formájú tömbként vagy a metódus nevét tartalmazó sztringként, a további paraméterek pedig a hívott metódus argumentumai.

Szintaxis

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

Példa

Statikus metódus hívása forward_static_call-on keresztül:

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

class B extends A {}

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

A kód végrehajtásának eredménye:

php'B'

Példa

Argumentumok átadása a hívott metódusnak:

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

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

A kód végrehajtásának eredménye:

php8

Lásd még

  • a call_user_func függvényt,
    ami egy callback függvényt hív meg
  • a forward_static_call_array függvényt,
    ami hasonló a forward_static_call-hoz, de az argumentumokat tömb formájában fogadja