Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
343 of 410 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Функция forward_static_call

Функция forward_static_call позволяет вызвать статический метод класса, используя позднее статическое связывание (Late Static Binding). Первым параметром передается callback-функция в виде массива [класс, метод] или строки с именем метода, а последующие параметры - аргументы для вызываемого метода.

Синтаксис

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

Пример

Вызов статического метода через forward_static_call:

<?php class A { public static function test() { return static::class; } } class B extends A {} $res = forward_static_call(['B', 'test']); echo $res; ?>

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

'B'

Пример

Передача аргументов в вызываемый метод:

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

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

8

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

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