Include
ณัฐพนธ์ เมาระพงษ์ 640710136
Include คืออะไร
การใช้คำสั่ง include หรือ require จะเอาข้อความ,โค้ด หรือ เครื่องหมายต่างๆ ที่มีอยู่ในไฟล์ที่เราระบุไว้มาใส่ลงในไฟล์ที่เราใช้คำสั่ง include นั้นๆ Include ใน PHP ยกตัวอย่างเหมือนในเว็บถ้าเรามีเมนูที่ใช้เหมือนกันในทุกหน้า เราแค่สร้างเมนูในไฟล์แยกไว้ เช่น menu.php จากนั้นในหน้าเว็บอื่นๆ เราก็ใช้คำสั่ง include ดึงเมนูนั้นมาใช้ได้เลย แทนที่จะไปเขียนเมนูใหม่ทุกหน้า
เราสามารถเอาโค้ดจากไฟล์ PHP อื่นมาใส่ในไฟล์ที่เรากำลังเขียนได้ โดยใช้คำสั่ง include หรือ require ซึ่งการรวมนี้จะทำให้เนื้อหาของไฟล์ที่เราเอามาใส่ ถูกประมวลผลเหมือนเป็นส่วนหนึ่งของไฟล์หลัก
ตัวอย่างการใช้งาน
ถ้าเรามีไฟล์ header.php ที่มีโค้ด HTML เป็นส่วนหัวของเว็บ เราก็สามารถใช้ include หรือ require เอาไฟล์นี้ไปใส่ในหน้าเว็บอื่นๆ โดยไม่ต้องเขียนโค้ดใหม่ทุกหน้า แค่ดึงเนื้อหาจากไฟล์ header.php มาประมวลผลก่อนที่ไฟล์หลักจะทำงาน
<?php include 'header.php'; ?><?php require '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><!DOCTYPE html>
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php require '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 เข้าไปให้ฟังก์ชันทำการบวก
อ้างอิง :
W3Schools. (1999-2024). PHP Include Files. Retrieved from W3Schools: https://www.w3schools.com/php/php_includes.asp
Tutorialspoint . (2024). PHP - File Include. Retrieved from Tutorialspoint : https://www.tutorialspoint.com/php/php_file_include.htm
Javatpoint. (2024). PHP Include and Require. Retrieved from Javatpoint: https://www.javatpoint.com/php-include-file
PHP.net. (2024). PHP include - Manual. Retrieved from PHP.net:https://www.php.net/manual/en/function.include.php
W3Schools. (1999-2024). Java import Keyword. Retrieved from W3Schools: https://www.w3schools.com/java/ref_keyword_import.asp
W3Schools. (1999-2024). C Syntax. Retrieved from W3Schools: https://www.w3schools.com/c/c_syntax.php
W3Schools. (1999-2024). Python Modules. Retrieved from W3Schools: https://www.w3schools.com/python/python_modules.asp
Last updated