invisionInclude

ณัฐพนธ์ เมาระพงษ์ 640710136

Include คืออะไร

การใช้คำสั่ง include หรือ require จะเอาข้อความ,โค้ด หรือ เครื่องหมายต่างๆ ที่มีอยู่ในไฟล์ที่เราระบุไว้มาใส่ลงในไฟล์ที่เราใช้คำสั่ง include นั้นๆ Include ใน PHP ยกตัวอย่างเหมือนในเว็บถ้าเรามีเมนูที่ใช้เหมือนกันในทุกหน้า เราแค่สร้างเมนูในไฟล์แยกไว้ เช่น menu.php จากนั้นในหน้าเว็บอื่นๆ เราก็ใช้คำสั่ง include ดึงเมนูนั้นมาใช้ได้เลย แทนที่จะไปเขียนเมนูใหม่ทุกหน้า

เราสามารถเอาโค้ดจากไฟล์ PHP อื่นมาใส่ในไฟล์ที่เรากำลังเขียนได้ โดยใช้คำสั่ง include หรือ require ซึ่งการรวมนี้จะทำให้เนื้อหาของไฟล์ที่เราเอามาใส่ ถูกประมวลผลเหมือนเป็นส่วนหนึ่งของไฟล์หลัก

ตัวอย่างการใช้งาน

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

<?php include 'header.php'; ?>

แล้ว include กับ require ต่างกันยังไง

include ถ้าไฟล์ที่เราต้องการ include มีปัญหา หรือหาไฟล์ไม่เจอ มันจะส่งคำเตือน (E_WARNING) แต่ตัวโค้ดจะยังทำงานต่อได้

require ทำงานคล้ายกับ include แต่ถ้าไฟล์ที่ต้องการ require มีปัญหา หรือหาไฟล์ไม่เจอ จะเกิดข้อผิดพลาด (E_COMPILE_ERROR) และโค้ดจะหยุดทำงานทันที

<!DOCTYPE html>
<html>
<body>

<h1>Welcome to my home page!</h1>
<?php include 'noFileExists.php';
echo "I love php.";
?>

</body>
</html>

ทั้งสองมีการจัดการข้อผิดพลาดต่างกันยังไง

include เกิด warning แต่โค้ดยังทำงานต่อ ในตัวอย่างไฟล์ noFileExists.php ไม่มีอยู่ แต่คำสั่ง echo "I love php."; จะยังทำงานต่อได้ผลลัพธ์เป็น : Welcome to my home page! และ I love php

ส่วน requireในตัวอย่างไฟล์ noFileExists.php ไม่มีอยู่ โค้ดจะหยุดทำงานทั้งหมดหลังจากเกิด fatal error คำสั่ง echo ไม่ถูกเรียกใช้ และผลลัพธ์จะไม่แสดงอะไรเพิ่มเติมนอกจาก error message

นอกจาก 2 ตัวที่ยกมายังมี :

include_once คล้ายกับ include แต่จะดูว่าไฟล์ที่จะเรียกใช้เคยถูกเรียกไปแล้วหรือยัง ถ้าเคยเรียกแล้วจะไม่โหลดซ้ำอีก และจะคืนค่าเป็น true ทันที แต่ถ้ายังก็จะเรียกใช้ปกติ

require_once คล้ายกับ require แต่จะดูว่าไฟล์ที่จะเรียกใช้เคยถูกเรียกไปแล้วหรือยัง ถ้าเคยเรียกแล้วจะไม่โหลดซ้ำอีก ถ้ายังก็จะเรียกใช้

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

ตัวอย่างการใช้ Include ง่ายๆ :

อธิบายการทำงาน

  • header.php : เก็บส่วนหัวเรื่องของเว็บ

  • footer.php : เก็บส่วนท้ายของเว็บ

  • home.php และ about.php : หน้าหลักก็จะมีเนื้อหาเฉพาะของแต่ละหน้า แต่ส่วน header และ footer ถูกนำมาใช้ซ้ำด้วยคำสั่ง include

เปรียบเทียบภาษา PHP / JAVA / C / PYTHON

output :

เปรียบเทียบโดยใช้การบวกเลขง่ายๆทั้ง 4 ภาษา :

  • PHP include ในตัวอย่างเราดึงเนื้อหาจากไฟล์ MathOperations.php เข้ามาในไฟล์หลัก main.php ที่เราจะใช้งาน เพื่อให้เราเรียกใช้ฟังก์ชัน add ที่สร้างไว้ได้ โดยตัวMathOperations::add(5, 10); เป็นการเรียกใช้ฟังก์ชัน add จากคลาส MathOperations โดยส่งค่า 5 และ 10 เข้าไปให้ฟังก์ชันทำการบวก

  • Java import ในตัวอย่างจะนำเข้าคลาสจากไฟล์ MathOperations.javaมาใช้ ทำให้สามารถใช้ฟังก์ชันและคลาสที่ถูกกำหนดไว้ในไฟล์ได้ โดยได้เรียกฟังก์ชัน add จากคลาส MathOperationsมาใช้โดยส่งค่า 5 และ 10 เข้าไปให้ฟังก์ชันทำการบวก

  • C และ C++ #include จะดึงเนื้อหาจากไฟล์ math_functions.h เข้ามาในไฟล์หลัก main.c

    เพื่อดึงฟังก์ชันและตัวแปรจากไฟล์ math_functions.h มาใช้ในโปรแกรมหลักและเรียกฟังก์ชัน add จากคลาส math_functions.h มาใช้โดยส่งค่า 5 และ 10 เข้าไปให้ฟังก์ชันทำการบวก

  • Python import เพื่อดึงไฟล์ Python มาใช้งาน โดยฟังก์ชัน add จาก math_operations.py จะถูกนำมาใช้ใน main.py และเรียกฟังก์ชัน add จากคลาส math_operations.py มาใช้โดยส่งค่า 5 และ 10 เข้าไปให้ฟังก์ชันทำการบวก

file-download
3MB

อ้างอิง :

Last updated