Anonymous Function & Closure di PHP
Penjelasan
Anonymous function adalah fungsi tanpa nama yang bisa disimpan ke variabel atau dipakai langsung sebagai argumen (mis. di array_map). Closure adalah anonymous function yang bisa "menangkap" variabel dari luar scope-nya lewat keyword use.
Contoh Konsep
<?php
$kalikanDua = function ($angka) {
return $angka * 2;
};
echo $kalikanDua(5); // 10
$pajak = 0.1;
$hitungTotal = function ($harga) use ($pajak) {
return $harga + ($harga * $pajak);
};
echo $hitungTotal(100); // 110
Praktikum
Buat closure $sapaDenganSalam yang menangkap variabel $salam = "Halo" lewat use, menerima parameter $nama, dan mengembalikan "{salam}, {nama}!". Panggil dengan "CompileDaily".
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Sejak PHP 7.4 ada arrow function (fn($x) => $x * 2) yang otomatis menangkap variabel luar tanpa perlu use — lebih ringkas untuk closure satu baris.