PHP: Inner Function
ช่วงนี้ผมนั่งแก้ script php ที่เค้าแจกกันใน internet? แก้ไปแก้มาก็ไปเจอ function ที่อยู่ใน function ซึ่งมันก็แปลกดี ผมก็เพิ่งเคยเจอในภาษา php นี้แหละผมเลยหาข้อมูลมันก็เรียกว่า inner function หรือว่า Nested Functions จึงทำให้ผมเขียนบทความเกี่ยวกับเรื่องนี้ ซึ่งผมก็ลองทดลองแล้วก็พบว่า inner function เป็นวิธีการที่ทำงานในกรณีที่ต้องการให้ function ตัวนอกทำงานได้แน่นอนจึงอนุญาตให้ inner function สามารถทำงานได้ ซึ่งผมได้ยกตัวอย่างโค้ดไว้ดังนี้
[sourcecode language=”php”]
function outterA()
{
echo "outterA
“;
function innerB($message)
{
echo “innerB
“;
echo $message . “
“;
}
}
outterA();
innerB(“message”);
?>
[/sourcecode]
ซึ่งถ้าลองรันดูก็จะได้ดังรูปแต่ถ้าลองคอมเม้น ตรงที่เรียกใช้งาน outterA(); ก็จะเกิด error ขึ้นเพราะฉะนั้นถ้าจะเรียกใช้ inner function ในตัวอย่างนั้นต้องเรียกใช้งาน function ตัวนอกอย่าง outterA ก่อนที่จะเรียกใช้งาน innerB ได้ ซึ่งจากการทำงานดังกล่าวก็ทำให้เราสามารถกำหนดได้ว่าจะต้องให้ function ตัวนอกทำงานก่อนจึงจะสามารถให้ inner function สามารถทำงานได้
?