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