วันพฤหัสบดีที่ 27 พฤศจิกายน พ.ศ. 2557

ฟังก์ชันใน PHP

ฟังก์ชันใน PHP

ฟังก์ชันในโปรแกรมส่วนใหญ่ได้รับการเรียกคำสั่งเพื่อทำงานอย่างเดียว สิ่งนี้ทำให้คำสั่งอ่านได้ง่ายและยอมให้ใช้คำสั่งใหม่แต่ละครั้งเมื่อต้องการทำงานเดียวกันฟังก์ชันเป็นโมดูลเก็บคำสั่งที่กำหนดการเรียกอินเตอร์เฟซ ทำงานเดียวกัน และตัวเลือกส่งออกค่าจากการเรียกฟังก์ชัน คำสั่งต่อไปเป็นการเรียกฟังก์ชันอย่างง่าย MY_FUNCTION ();คำสั่งเรียกฟังก์ชันชื่อ MY_FUNCTION ที่ไม่ต้องการพารามิเตอร์ และไม่สนใจค่าที่อาจจะส่งออกโดยฟังก์ชันนี้ฟังก์ชันจำนวนมากได้รับการเรียกด้วยวิธีนี้ เช่น ฟังก์ชัน PHPINFO () สำหรับแสดงเวอร์ชันติดตั้งของ PHP สารสนเทศเกี่ยวกับ PHPการตั้งค่าแม่ข่ายเว็บ ค่าต่างๆ ของ PHP และตัวแปร ฟังก์ชันนี้ไม่ใช้พารามิเตอร์และโดยทั่วไปไม่สนใจค่าส่งออก ดังนั้นการเรียก PHPINFO () จะประกอบขึ้นดังนี้ PHPINFO ();

การกำหนดและเรียกฟังก์ชัน

การประกาศฟังก์ชันเริ่มต้นด้วยคีย์เวิร์ด FUNCTION กำหนดชื่อฟังก์ชัน พารามิเตอร์ที่ต้องการ และเก็บคำสั่งที่จะประมวลผลแต่ละครั้งเมื่อเรียกฟังก์ชันนี้<?PHP

FUNCTION FUNCTION_NAME(PARAMETER1,…)  {ชุดคำสั่ง …}  ?>ชุดคำสั่งต้องเริ่มต้นและสิ้นสุดในวงเล็บปีกกา ({ }) ตัวอย่างฟังก์ชัน MY_FUNCTION<?PHP  FUNCTION MY_FUNCTION()  {$MYSTRING =<<<BODYSTRING  MY FUNCTION ได้รับการเรียกBODYSTRING;  ECHO $MYSTRING;}  ?>การประกาศฟังก์ชันนี้ เริ่มต้นด้วย FUNCTION ดังนั้นผู้อ่านและตัวกระจาย PHP ทราบว่าต่อไปเป็นฟังก์ชันกำหนดเอง ชื่อฟังก์ชันคือ MY_FUNCTION การเรียกฟังก์ชันนี้ใช้ประโยคคำสั่งนี้  MY_FUNCTION ();การเรียกฟังก์ชันนี้จะให้ผลลัพธ์เป็นข้อความ "MY FUNCTION ได้รับการเรียก " บนBROWSER

การตั้งชื่อฟังก์ชัน

สิ่งสำคัญมากในการพิจารณาเมื่อตั้งชื่อฟังก์ชันคือชื่อต้องสั้นแต่มีความหมาย ถ้าฟังก์ชันสร้างส่วนตัวของเพจควรตั้งชื่อเป็น PAGEHEADER () หรือ PAGE_HEADER ()

ฟังก์ชันไม่สามารถมีชื่อเดียวกับฟังก์ชันที่มีอยู่

ชื่อฟังก์ชันสามารถมีได้เพียงตัวอักษรตัวเลข และ UNDERSCORE

ชื่อฟังก์ชันไม่สามารถเริ่มต้นด้วยตัวเลข

NAME2 ()

NAME_THREE ()

_NAMEFOUR ()

5NAME ()

NAME-SIX ()

FOPEN ()

ข้อจำกัดในการตั้งชื่อคือ

NAME ()

หลายภาษายอมให้ใช้ชื่อฟังก์ชันได้อีก ส่วนการทำงานนี้เรียกว่า FUNCTION OVERLOAD อย่างไรก็ตาม PHP ไม่สนับสนุน FUNCTION OVERLOAD ดังนั้นฟังก์ชันไม่สามารถมีชื่อเดียวกันกับฟังก์ชันภายใน หรือฟังก์ชันกำหนดเองที่มีอยู่

หมายเหตุ ถึงแม้ว่าทุกสคริปต์ PHP รู้จักฟังก์ชันภายในทั้งหมด ฟังก์ชันกำหนดเองอยู่เฉพาะในสคริปต์ที่ประกาศสิ่งนี้หมายความว่า ชื่อฟังก์ชันสามารถใช้ในคนละไฟล์แต่อาจจะไปสู่ความสับสน และควรหลีกเลียง

ชื่อฟังก์ชันต่อไปนี้ถูกต้อง

ชื่อไม่ถูกต้อง

การเรียกฟังก์ชันไม่มีผลจากชนิดตัวพิมพ์ ดังนั้นการเรียก FUNCTION_NAME (), FUNCTION_NAME() หรือFUNCTION_NAME() สามารถทำได้และมีผลลัพธ์เหมือนกัน แต่แบบแผนการกำหนดชื่อฟังก์ชันใน PHP ให้ใช้ตัวพิมพ์เล็ก 

ชื่อฟังก์ชันแตกต่างจากชื่อตัวแปร โดยชื่อตัวแปรเป็นชนิดตัวพิมพ์มีผล ดังนั้น $NAME และ $NAME เป็น 2ตัวแปร แต่ NAME () และ NAME () เป็นฟังก์ชันเดียวกัน

การเรียกฟังก์ชัน

เมื่อฟังก์ชันได้รับการประกาศหรือสร้างขึ้นแล้ว การเรียกฟังก์ชันสามารถเรียกมาจากที่ใดๆ ภายในสคริปต์ หรือ จากไฟล์ที่มีการรวมด้วยประโยคคำสั่ง INCLUDE() หรือ REQUIRE()

SHOW_MESSAGE();

พารามิเตอร์

ไวยากรณ์พื้นฐาน

{

รายการพารามิเตอร์ <BR/>

PARAM1: $PARAM1 <BR/>

PARAM2: $PARAM2 <BR/>

PARAM3: $PARAM3 <BR/>

?>

ตัวอย่าง ฟังก์ชัน SHOW_MESSAGE() เก็บอยู่ในไฟล์ FN_ 03 _KEEPER.PHP ส่วนผู้เรียกอยู่ในสคริปต์ FN_ 03 _CALLER.PHP

<?PHP

INCLUDE("FN_ 03 _KEEPER.PHP");

?>

ตามปกติฟังก์ชันส่วนใหญ่ต้องการรับสารสนเทศจากผู้เรียกสำหรับการประมวลผล โดยทั่วไปเรียกว่า พารามิเตอร์

การกำหนดฟังก์ให้รับพารามิเตอร์ส่งผ่านโดยการวางข้อมูล ชื่อตัวแปรที่เก็บข้อมูลภายในวงเล็บหลังชื่อฟังก์ชัน การเรียกฟังก์ชันที่ประกอบด้วยพารามิเตอร์เขียนดังนี้

<?PHP

FUNCTION SHOW_PARAMETER($PARAM1, $PARAM2, $PARAM3)

ECHO <<<PARAM

PARAM;

}

พารามิเตอร์ที่ส่งไปยังฟังก์ชันแยกกันเครื่องหมายจุลภาคภายในวงเล็บ โดยสามารถส่งเป็นนิพจน์สำหรับแต่ละพารามิเตอร์ด้วย ตัวแปร ค่าคงที่ ผลลัพธ์จากการคำนวณ รวมถึงการเรียกฟังก์ชัน

SCOPE ของพารามิเตอร์จำกัดภายในฟังก์ชัน ถ้าชื่อตัวแปรเหมือนกับตัวแปรใน SCOPE ระดับอื่น พารามิเตอร์นี้ "ระบุ" เป็นตัวแปรภายในที่ไม่มีผลกับตัวแปรภายนอกฟังก์ชัน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น