Функция 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га ўхшаш, лекин аргументларни массив кўринишида қабул қилади