Функция 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-ға ұқсас, бірақ аргументтерді массив түрінде қабылдайды