Что такое first-class callable syntax? (PHP 8.1)

Ответ
// PHP 8.1: получение ссылки на функцию через ...
$fn = strlen(...);           // вместо 'strlen'
$fn = $obj->method(...);     // вместо [$obj, 'method']
$fn = User::create(...);     // статический метод

// Использование
$lengths = array_map(strlen(...), ['hello', 'world']); // [5, 5]

// Удобно для pipeline
$result = array_map(
    strtolower(...),
    array_filter($items, is_string(...))
);

Синтаксис function(...) создает объект Closure. Это безопаснее строк: IDE проверяет существование метода, работает рефакторинг.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.