Tuesday, November 8, 2016

Closure Pada PHP 5

Jika pada tutorial sebelumnya saya menjelaskan tentang anonymous function , kali ini saya akan menjelaskan penggunakan closure pada PHP 5. Closure hampir mirip dengan anonymous fungtion, perbedaannya adalah closure ini dapat menerima parameter dan mengakses variable dari luar fungsi tersebut. Contohnya seperti berikut :

$merk = "Avanza";
$tahun = 2015;

function detailMobil($merk, $tahun){
 return $merk." tahun ".$tahun;
}

function beliMobil($detail){
 echo "Anda membeli mobil ".$detail." 
";
}

beliMobil(detailMobil($merk, $tahun));
pada syntax tersebut, kita membuat fungsi detailMobil() yang menerima input merk dan tahun. Kita juga juga membuat fungsi beliMobil() yang menerima input detail. Pada baris terakhir, kita memanggil fungsi beliMobil dengan parameter dari fungsi detailMobil(). dari syntax diatas, jika dijalankan pada browser akan menghasilkan output seperti ini:

Output Closure.php
Selanjutnya jika kita mengunbah fungsi detailMobil menjadi closure, maka syntaxnya akan berubah menjadi :

$merk = "Avanza";
$tahun = 2015;

$detail = function() use ($merk, $tahun){
 return $merk." tahun ".$tahun;
};

function beliMobil($detail){
 echo "Anda membeli mobil ".$detail." 
";
}

beliMobil($detail());
Kita dapat melihat disini, untuk menggunakan variable diluar closure ($merk dan $tahun), kita menggunakan keyword use. Jika kita jalankan pada browser, maka outputnya akan tetap sama. Salah satu penggunaan closure adalah digunakan pada fungsi yang menggunakan callback sebagai parameternya.

0 comments:

Post a Comment