Функция forward_static_call_array

Функция forward_static_call_array позволяет вызвать статический метод класса, передавая параметры в виде массива. Первым параметром принимает callable (имя класса и метода в формате массива или строки), вторым - массив аргументов для передачи в метод.

Синтаксис

phpforward_static_call_array(callable $function, array $parameters);

Пример

Вызовем статический метод класса с передачей параметров:

php<?php
  class Calculator {
    public static function add($a, $b) {
      return $a + $b;
    }
  }
  
  $res = forward_static_call_array(['Calculator', 'add'], [5, 3]);
  echo $res;
?>

Результат выполнения кода:

php8

Пример

Использование строкового вызова вместо массива:

php<?php
  class StringHelper {
    public static function concat($str1, $str2) {
      return $str1 . $str2;
    }
  }
  
  $res = forward_static_call_array('StringHelper::concat', ['Hello', 'World']);
  echo $res;
?>

Результат выполнения кода:

php'HelloWorld'

Смотрите также

  • функцию call_user_func_array,
    которая вызывает callback-функцию с массивом параметров
  • функцию forward_static_call,
    которая вызывает статический метод с отдельными аргументами