–Closure in PHP 5.3– Anonymous function for special purpose
Closure dalam ilmu komputer dapat diartikan anonymous function, adalah function yang tidak mempunyai nama yang spesifik. Kenapa closure dipakai ? alasannya ada 2, yaitu :
1. Dinamis.
Dalam arti flexible, ia bisa dipakai dalam situasi tertentu saja.
2. Dapat dibuat untuk term pendek
Fungsi ini bisa digunakan sekali pakai.
Yang menjadi pertanyaan adalah, kenapa harus pakai closure ? Toh untuk hal-hal sekali pakai, kita bisa langsung aja hajar coding di tempat :D. Alasannya, karena closure dapat mempunyai variable yang bebas relatif terhadap lingkungan yang mengikat variable tersebut.
Untuk lebih memperjelas, saya akan mencoba menampilkan dalam kode program :).
<?php //Flexible & has short term $greet = function($name) { echo "Hello $name<br>"; }; $greet('World'); //print Hello World $greet('PHP'); //print Hello PHP $greet = function($name) { echo "Hi... $name<br>"; }; $greet('World'); //print Hi...World $greet('PHP'); //print Hi...PHP //free variables together with //an environment that binds those variables function testfunc($greeting){ $closure = function($text) use ($greeting){ return str_replace("world", "samsonasik" , $text); }; return $closure($greeting); } echo testfunc("Hello world"); //print Hello samsonasik
Referensi :
1. PHP Manual ( Mehdi Achour dkk )
2. http://php.net/manual/en/functions.anonymous.php
3. http://www.jibbering.com/faq/faq_notes/closures.html
4. http://wiki.php.net/rfc/closures
5. Beginning PHP 5.3 (Mat Doyle)
6. http://en.wikipedia.org/wiki/Closure_%28computer_science%29
mantap….trus mereset guru besar hehehe
meriset kali ris, ah, kamu mah salah tulis aja :))
makasih 😆
kebetulan saya lagi belajar php..
Andai closure tidak perlu menggunakan keyword ‘use’ untuk menggunakan variable dari luar fungsi, pasti jadi lebih praktis ya gan 😀 sayangnya rules-nya memang harus seperti itu.. hehe
Anyway, thanks.