Funktio forward_static_call

Funktio forward_static_call mahdollistaa staattisen luokkametodin kutsun käyttäen myöhäistä staattista sidontaa (Late Static Binding). Ensimmäisenä parametrina annetaan callback-funktio taulukkona [luokka, metodi] tai merkkijonona metodin nimellä, ja seuraavat parametrit ovat kutsutavan metodin argumentteja.

Syntaksi

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

Esimerkki

Staattisen metodin kutsu forward_static_callin kautta:

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

class B extends A {}

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

Koodin suorituksen tulos:

php'B'

Esimerkki

Argumenttien välittäminen kutsuttavaan metodiin:

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

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

Koodin suorituksen tulos:

php8

Katso myös