Menu

Wednesday, April 1, 2020

[PHP - Laravel] Closure คืออะไร
[PHP - Laravel] What is Closure?

Closure เป็น anonymous function ที่นิยมใช้เป็น callback method อีกทั้งยังสามารถใช้เป็น parameter ของ function ได้อีกด้วย

ตัวอย่างการใช้งาน

สมมติว่า เรามี function ชื่อ handle โดยที่ function นี้รับ parameter เป็น Closure ดังต่อไปนี้
function handle(Closure $closure) {
    $closure();
}
เวลาเราเรียกใช้งาน handle เราสามารถใส่ function ของเราเข้าไปเป็น parameter แบบนี้ได้เลย
handle(function(){
    echo __METHOD__;
});
นอกจากนั้น เราสามารถประกาศ function ของเราเก็บไว้ในตัวแปรก่อน แล้วค่อยส่งตัวแปรนั้นเป็น parameter แบบนี้ก็ได้
$myFunction = function(){
    echo __METHOD__;
});
handle($myFunction);

No comments:

Post a Comment