Википедия :
Это означает, что язык поддерживает передачу функций в качестве аргументов для других функций, возврат их в качестве значений из других функций и присвоение их переменным или их сохранениев структурах данных.
Первоначально вы могли назначать функции в виде строк или массивов для переменных:
$aFunction = 'someFunctionName';
$aFunction();
$aMethod = [$object, 'someMethodName'];
$aMethod();
Вы можете увидеть это в старом источнике. Это косвенная ссылка на функцию / метод (по названию). Текущий PHP предоставляет лучшие способы. Вы можете назначить анонимную функцию непосредственно переменной:
$aFunction = function(...$arguments) {
var_dump($arguments);
};
$aFunction();
Или реализовать магический метод __invoke () в классе:
class A {
public function __invoke(...$arguments) {
var_dump($arguments);
}
}
$aFunction = new A();
$aFunction(1, 2);
В PHP 7.4 функция быстрого вызова для простогодобавлены выражения:
$aFunction = fn(...$arguments) => var_dump($arguments);
$aFunction(1, 2);