← Стрілкові функції (Arrow Functions)
docs: English JsonRpcBundle docs, REST and MCP Bundle sections, package cards
uk/articles/from-tg/series/php-can-do/arrow-functions.md
новий файл +70
−0
Стрілкові функції (Arrow Functions)
Як анонімка, тільки стрункіше
- Додано у версії: PHP 7.4
- Що дає: компактний синтаксис для коротких функцій, які автоматично бачать змінні з оточення та завжди повертають результат.
Особливості, які треба знати
- завжди повертають значення;
- можуть містити лише один вираз — без
{}і багатооператорних блоків; - автоматично успадковують змінні з оточення, без
use($x); - читаються як вираз, а не як інструкція.
Чому це зручно
- менше шаблонного коду;
- виразність у callback-ах (map, filter, reduce);
- краще читається, особливо в колекціях і стрімах;
- підходить для будь-якого місця, де потрібен мінімалістичний обробник.
Реальні приклади застосування
Перетворення масиву
$prices = [100, 200, 300];
$tax = 0.2;
// ❌ Звичайна анонімна функція
$withTax = array_map(function (int $p) use ($tax) {
return $p * (1 + $tax);
}, $prices);
// ✅ Стрілкова функція
$withTax = array_map(fn(int $p) => $p * (1 + $tax), $prices);
Фільтрація елементів
$activeUsers = array_filter($users, fn(User $u) => $u->active);
Підрахунок значення
$total = array_reduce($orders, fn(int $sum, Order $o) => $sum + $o->amount, 0);
Простий калькулятор з доступом до зовнішньої змінної
$multiplier = 3;
$calc = fn(int $v) => $v * $multiplier;
echo $calc(10); // 30
Висновок
Стрілкові функції — це лаконічна форма анонімок, створена для чистих, коротких виразів у прямолінійній логіці.
Якщо тобі потрібен в коді function ($x) use ($y) { return …; } — просто заміни на fn() і відчуй різницю.
Вперше опубліковано в Telegram-каналі «Створений щоб помирати» 17.10.2025.