วันพฤหัสบดีที่ 24 เมษายน พ.ศ. 2557

ข้อแตกต่างระหว่าง include กับ require

ถ้าเราพยามจะนำไฟล์ html php หรืออื่นๆ มาใส่ลงในหน้าเว็บ php นั้นส่วนใหญ่จะเห็น เป็น include นะครับ
ตัวอย่างเช่น

<?php
include("header.php");
include("content.html");
?>

แต่ถ้าเราดันไม่มีไฟล์ header.php หรือไฟล์ content.html ตามตัวอย่าง มันมักจะฟ้องเป็นแค่ warning เตือนเฉยๆครับ และจะดำเนินการต่อไป ส่วนถ้าเราเปลี่ยนเป็น

<?php
require("header.php");
require("content.html");
?>

โค๊ดด้านบนนี้ ถ้าเราไม่มีไฟล์ header.php หรือไฟล์ content.html มันจะฟ้อง error เลยและจะหยุดดำเนินการที่บรรทัดนั้นๆ ทั้นทีครับ



ซึ่งจริงๆ ดูไปแล้วทุกคนคงคิดเหมือนผมว่า Require นี้มีประโยชน์ยังไง ใส่ Include แทนไม่ดีกว่าเหรอ? Require มีประโยชน์ตรงที่เป็นตัวจับความผิดพลาดครับ มันจะช่วยหยุดยั้ง การดำเนินการของเพจที่เราเขียนขึ้นครับ ส่งผลทำให้เกิดความปลอดภัยในระดับนึง โปรแกรมจะไม่รันข้ามไปมั่วๆ (ซึ่งอาจเกิดผลเสียได้หลายอย่างในอนาคต) ข้ามบรรทัดไปครับ

ส่วนถ้าจะแนะนำนะครับ ควรใช้ include ถ้าไฟล์ที่นำเข้านั้นเป็น html ธรรมดา ไม่มีผลกระทบอะไรต่อหน้าเพจครับ แต่ถ้าจะใช้ Require ก็ต่อเมื่อ ไฟล์ที่นำเข้าเป็นฟังก์ชั่น หรือมีตัวแปรที่ต้องใช้ในหน้านั้นๆ ครับ

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

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