ფუნქცია 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-ის ანალოგი, მაგრამ არგუმენტებს მასივის სახით იღებს