ความแตกต่างระหว่างฟังก์ชัน Include กับ Require

ผมกำลังหัดใช้ php ให้เป็นเรื่องเป็นราวหน่อย แต่เดิมมาก็หัดๆ เลิกๆ อยู่นั่นแหล่ะ คราวนี้ขอบันทึกเรื่องที่มือใหม่มักสับสนไว้หน่อย นั่นคือความแตกต่างระหว่างฟังก์ชัน include กับ require ขออนุญาตข้ามรายละเอียดเรื่องหน้าที่ของทั้งสองฟังก์ชันไป เพราะคงหาอ่านตามคู่มือได้อยู่แล้ว

ความแตกต่างของทั้งสองคำสั่งมีสองประการคือ
1.การจัดการกับความผิดพลาด เมื่อตัวแปรภาษา php พบความผิดพลาดจะดำเนินการต่างกันคือ
สำหรับ include - จะมีการเตือน warning และข้ามไปทำคำสั่งถัดไปได้
สำหรับ require - จะรายงานว่าผิดพลาดแบบ fatal error แล้วหยุดการทำงานของสคริปท์นั้นไปเลย
2.การเรียกใช้งานฟังก์ชัน ความแตกต่างแบบนี้ พบเมื่อนำฟังก์ชันทั้งสองไปวางใน Loop เช่น เอาไว้ใน if
สำหรับ include - จะทำงานเหมือนฟังก์ชันทั่วไปคือ หากไม่มีการเข้าไปทำงานในเงื่อนไขนั้นๆ ก็จะไม่มีการเรียกใช้ฟังก์ชันนี้
สำหรับ require - แม้ว่าจะไม่มีการเข้าไปทำในเงื่อนไขนั้น แต่ก็จะมีการเรียกใช้คำสั่งนี้เหมือนก้ัน อันนี้ถือเป็นฟังก์ชันที่ทำงานแปลกจากฟังก์ชันอื่นๆ

ส่วน require_once กับ include_once นั้นจะมีการตรวจสอบเพิ่มเติมว่าเคยมีการเรียกใช้คำสั่งนี้ก่อนหรือไม่ ถ้าเคยมีก็จะไม่เรียกซ้ำอีก

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

C001-2.1 ดีไวซ์ไดรเวอร์ และโปรแกรมดีไวซ์เมเนเจอร์

การทำตัวอักษรเส้นประ

Jonathan Livingston : Seagull