Функсияи forward_static_call

Функсияи forward_static_call имкон медиҳад, ки усули static-и як классро бо истифода аз пайвастани static-и дер (Late Static Binding) фаро хонед. Параметри якум чун callback-функсия дар шакли массиви [класс, усул] ё сатри бо номи усул интиқол дода мешавад, ва параметрҳои баъдина - аргументҳо барои усули фарохондашуда мебошанд.

Синтаксис

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

Мисол

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