forward_static_call funksiýasy

forward_static_call funksiýasy, giňişleýin statik baglanyşygy (Late Static Binding) ulanyp, klasyn statik usulyny çagyrmaga rugsat berýär. Birinji parametr hökmünde [klas, usul] görnüşinde massiw ýa-da usulyň ady bilen setir görnüşinde callback-funksiýa geçirilýär, soňky parametrler bolsa çagyrylýan usul üçin argumentlerdir.

Sintaksis

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

Mysal

forward_static_call arkaly statik usuly çagyrmak:

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

class B extends A {}

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

Kody ýerine ýetirmegiň netijesi:

php'B'

Mysal

Çagyrylýan usula argumentleri geçirmek:

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

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

Kody ýerine ýetirmegiň netijesi:

php8

Şeýle-de serediň

  • call_user_func funksiýasyny,
    ýagny callback-funksiýany çagyrýan
  • forward_static_call_array funksiýasyny,
    ýagny forward_static_call-a meňzeş, ýöne argumentleri massiw görnüşinde kabul edýän