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-ին, սակայն արգումենտները ընդունում է զանգվածի տեսքով