Lambda pada PHP, Kenapa Tidak?

Muhammad Ginanjar 15 Februari 2017

Lambda pada PHP, Kenapa Tidak?

Memang sih lambda ini sudah lama dipakai oleh para programmer, tapi mungkin ada beberapa diantara kita yang belum tahu tentang lambda ini. Apalagi kalau diterapkan di PHP, pastinya masih jarang banget programmer yang pernah menerapkannya. Walaupun tidak dinafikan lagi kalau salah satu framework yang saat ini sedang populer yaitu Laravel menggunakan lambda ini. Kalau gitu, tak usah banyak cakap, yuk langsung kita simak penjelasannya!

Catatan: Lambda dapat digunakan pada PHP versi 5.3 ke atas.

Apa itu Lambda

Lambda adalah satu fungsi yang dapat disematkan di variabel, sehingga variabel tersebut bisa mengandung argumen (parameter). Jika kita familiar dengan Javascript atau Ruby, pasti bakalan ngerti tentang anonymous function.

Dan anonymous function (fungsi anonim) adalah fungsi yang tidak terdapat nama fungsi padanya. Sebagai contoh, di bawah ini saya akan membandingkan fungsi yang biasa ada di PHP dengan anonymous function.

// Fungsi Biasa
function Hallo()
{
	return 'Hello Indonesia!';
}

Secara mudahnya, kita tinggal panggil fungsi tersebut dengan :

// Pemanggilan Fungsi yang biasa
echo Hallo();

Sekarang kalau kita mau menggunakan anonymous function, maka bentuknya akan seperti ini :

function ()
{
	return 'Hello Indonesia!';
}

Karena anonymous function tidak mempunyai nama, sehingga pemanggilannya pun tidak bisa menggunakan pemanggilan seperti fungsi biasa. Oleh karena itu kita harus menggunakan lambda untuk memberikan tanda fungsinya, sehingga kita bisa panggil. Simak contoh di bawah ini :

// Buat Variabel untuk memasukkan anonymous function
$hallo = function ()
{
	return 'Hello Indonesia!';
}

//Panggil dengan 
echo $hallo();
// hasilnya : Hello Indonesia!

Contoh lainnya, ketika kita akan membuat anonymous function, bisa juga dengan cara seperti di bawah ini:

function hallo($namaku)
{
	echo $namaku();
}
//maka pemanggilannya bisa dengan :
hallo(function()
{
	return 'Hello Indonesia!';
});

Jadi mirip jquery yah (kalau yang sering bikin fungsi di javascript).

Kenapa Menggunakan Lambda

Lambda ini sangat berguna ketika akan menggunakan satu fungsi sekali pakai. Istilahnya 'One Night Stand' jiaaah... Alih-alih kita memakai satu fungsi global yang bisa dipakai di dalam salah satu serial coding kita, kita bisa menggunakan lambda ini untuk menghemat memori program.

Bahkan fungsi create_function saja, bisa kita gunakan kok didalam lambda ini. Sebagai contoh :

// Gunakan create_function
$greeting = create_function('', 'echo "Hello World!";');
 
// Panggil fungsinya.
$greeting();

Mudah kan?