Funktion forward_static_call

Die Funktion forward_static_call ermöglicht den Aufruf einer statischen Klassenmethode unter Verwendung von späten statischen Bindungen (Late Static Binding). Der erste Parameter ist ein Callback in Form eines Arrays [Klasse, Methode] oder eines Strings mit dem Methodennamen, die folgenden Parameter sind die Argumente für die aufzurufende Methode.

Syntax

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

Beispiel

Aufruf einer statischen Methode via 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;
?>

Ausgabe des Codes:

php'B'

Beispiel

Übergabe von Argumenten an die aufgerufene Methode:

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

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

Ausgabe des Codes:

php8

Siehe auch