Functie forward_static_call

De functie forward_static_call maakt het mogelijk om een statische methode van een klasse aan te roepen, met gebruikmaking van late static binding (Late Static Binding). De eerste parameter is een callback-functie in de vorm van een array [klasse, methode] of een string met de methodenaam, en de volgende parameters zijn de argumenten voor de aan te roepen methode.

Syntaxis

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

Voorbeeld

Een statische methode aanroepen 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;
?>

Resultaat van de code-uitvoering:

php'B'

Voorbeeld

Argumenten doorgeven aan de aan te roepen methode:

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

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

Resultaat van de code-uitvoering:

php8

Zie ook

  • de functie call_user_func,
    die een callback-functie aanroept
  • de functie forward_static_call_array,
    die vergelijkbaar is met forward_static_call, maar de argumenten accepteert in de vorm van een array