Меньше шаблонного кода. Больше смысла в колбэках.
В PHP 8.6 появляется Partial Function Application — механизм, который позволяет частично вызывать функцию, фиксируя одни аргументы и оставляя «дырки» для остальных. В результате возвращается готовый
Closure с автоматически выведенной сигнатурой.🧠 Что это даёт на практике
• 📉 Меньше стрелочных функций ради передачи одного аргумента
• 🧩 Колбэки становятся короче и читаемее
• 🔎 Намерение кода видно сразу, без «обвязки»
• 🔗 Отлично сочетается с pipe-оператором
• 🧪 Упрощает функциональный стиль и композицию
🧱 Ключевая идея
Используются плейсхолдеры:
? — ровно один аргумент… — все оставшиеся аргументыPHP не вызывает функцию, а возвращает преднастроенный callable.
⚙️ Где особенно полезно
•
array_map, array_filter, usort• Преднастроенные валидаторы и фильтры
• HTTP-middleware и пайплайны
• Thunk-функции (отложенное выполнение)
• Конфигурация через именованные аргументы
🧩 Реальный сценарий
Преднастроенные операции — например, добавление заголовков, логирование, фильтрация данных — можно оформить один раз и переиспользовать без дублирования логики.
⚠️ Ограничения
• Конструкторы нельзя частично применять
• Для
new — только фабрики или статические методы• Variadic-аргументы можно как «оставить открытыми», так и зафиксировать
Partial Function Application — это не синтаксический сахар, а структурное упрощение колбэков. PHP продолжает двигаться в сторону выразительного и функционального кода, снижая шум и повышая читаемость.
🔗 Читать статью
Библиотека пхпшника

