หน้าแรกส่วนบริการลูกค้าข่าวประกาศคลังความรู้ติดตามความคืบหน้าดาวน์โหลด

คลังความรู้
คุณอยู่ที่หน้า: หน้าแรก > คลังความรู้ > Webhosting > ความแตกต่างระหว่าง Include() Require() Require_once()

ความแตกต่างระหว่าง Include() Require() Require_once()

ความแตกต่างระหว่าง Include() Require() Require_once()

 

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

ตัวอย่างรูปแบบการใช้งาน

·      include(test.php”);

·      require(“test.php”);

·      require_once(“test.php”);

ซึ่งจะสังเกตเห็นว่ารูปแบบของการเรียกใช้งานไม่ได้ต่างกัน แต่ความเป็นจริงมันมีความแตกต่างกัน ก่อนอื่นเรามาดูคำศัพท์กันก่อน ฟังก์ชั่นทั้ง 3 จะมีคำศัพท์หลักๆ อยู่ 3 คำ คือ

include = รวมถึง, ประกอบด้วย
               require = ต้องการ
               once    = ครั้งเดียว, หนเดียว

                จากความหมายจะเห็นว่าฟังก์ชัน requirec และ require_once จะให้ความสำคัญกับไฟล์ที่นำเข้ามามากกว่า ฟังก์ชั่น include

 

ความแตกต่าง

·      Include() : ฟังก์ชั่นนี้ถ้าไม่พบไฟล์ที่ต้องการ มันจะแสดง error เป็นแบบ Warning ซึ่งหมายความว่ามันจะแสดงข้อความผิดพลาดขึ้นบนหน้าจอ เฉยๆ แต่มันจะข้ามไปทำงานในส่วนอื่นต่อไป

·      Require() : ฟังก์ชันนี้เมื่อไม่พบไฟล์ที่ต้องการ มันจะแสดงข้อความขึ้นเป็น Fatal Error ซึ่งก็หมายความว่า เมื่อมันพบปัญหา มันก็จะขึ้น error แล้วจบการทำงานทันที คือมันก็จะถือว่าสิ้นสุดการประมวลผลไฟล์แล้ว การ require ของฟังก์ชันนี้ถ้าเรา require 5 ครั้ง ไฟล์ที่เราเรียกก็จะ require มา 5 ครั้ง

·       Require_once() : ตัวนี้ก็จะมีการทำงานเหมือน Require()  เพียงแต่ว่ามันจะเรียกไฟล์เข้ามาในสคริปต์แค่ครั้งเดียว เช่น ถ้าเรา require 5 ครั้ง ไฟล์ที่เราเรียกก็จะถูก require มาครั้งเดียว

 

 

 

 

 

การเปรียบเทียบระหว่าง Require() กับ Require_once()

<?

#test.php

echo "ถูกนำเข้าครั้งที่ $i <br>";

?>

 

<?

#require_once.php

 echo "สารสนเทศ";

for($i=1;$i<=5;$i++)

   require_once("test1.php"); //นำเข้าไฟล์ test.php ที่สร้างไว้

?>

ผลลัพธ์

 

<?

#require.php

echo "สารสนเทศ";

for($i=1;$i<=5;$i++)

   require("test.php"); //นำเข้าไฟล์ test.php ที่สร้างไว้

?>

ผลลัพธ์

 

 

 

การทดลองการerror ทั้ง3 ฟังก์ชัน

สร้างไฟล์มาทั้งหมด 3 ไฟล์

<?php

#1.php

include("ag.php"); //เป็นชื่อไฟล์ที่ไม่มีอยู่จริง

echo "ab";

?>

 

<?php

#2.php

require("ab.php"); //เป็นชื่อไฟล์ที่ไม่มีอยู่จริง

echo "ab";

?>

 

<?php

#3.php

require_once("ab.php"); //เป็นชื่อไฟล์ที่ไม่มีอยู่จริง

echo "ab";

?>

Error ที่ได้จากทั้งสามฟังก์ชัน

Warning: include(ag.php) [function.include]: failed to open stream: No such file or directory in C:\AppServ\www\tawa\1.php on line 2
Warning: include() [function.include]: Failed opening 'ag.php' for inclusion (include_path='.;C:\php5\pear') in C:\AppServ\www\tawa\1.php on line 2
ab

 

 

Warning: require(ab.php) [function.require]: failed to open stream: No such file or directory in C:\AppServ\www\tawa\2.php on line 2
Fatal error: require() [function.require]: Failed opening required 'ab.php' (include_path='.;C:\php5\pear') in C:\AppServ\www\tawa\2.php on line 2

 

 

Warning: require_once(ab.php) [function.require-once]: failed to open stream: No such file or directory in C:\AppServ\www\tawa\3.php on line 2
Fatal error: require_once() [function.require]: Failed opening required 'ab.php' (include_path='.;C:\php5\pear') in C:\AppServ\www\tawa\3.php on line 2

 

จะแสดงให้เห็นว่าการใช้ฟังก์ชัน include(); เมื่อไม่เจอไฟล์ที่ต้องการมันจะทำงานในคำสั่งต่อไปได้ แต่ที่เหลือจะไม่ทำและจบการทำงานทันที

 

ทั้ง 3 ฟังก์ชันควรจะใช้งานในกรณีไหน

                ฟังก์ชัน include() ไม่สมควรใช้กับไฟล์ที่สำคัญ จึงนิยมใช้เรียกไฟล์พวกข้อความ หรือ html ธรรมดา เพราะเมื่อไม่เจอไฟล์ที่เราเรียกโปรแกรมยังสามารถข้ามไปทำงานส่วนอื่นต่อได้อีก ยังไม่สมควรต้องหยุด

                กับ require() กับ require_once() สมควรใช้กับไฟล์ที่มีความสำคัญ ซึ่งนิยมใช้เรียกไฟล์ที่เก็บฟังก์ชัน, คลาส หรือค่าconfig ต่างๆ ที่มีความจำเป็นมาก เพราะถ้าข้ามการเรียกไฟล์ส่วนนี้ไปผลลัพธ์ส่วนอื่นที่ถึงแม้รันออกมาได้ก็ไร้ค่า



บทความนี้มีประโยชน์กับคุณหรือไม่ ?

บันทึกสู่รายการโปรดของฉัน
พิมพ์หัวข้อนี้

เทคนิคและกลวิธีในการเลือกใช้งาน Web Hosting (ดูรายละเอียด: 715)
หลักการเลือก Hosting (ดูรายละเอียด: 9903)
เว็บไซต์ (Web Site) (ดูรายละเอียด: 604)
การเลือก Web Hosting ให้กับเว็บไซต์คุณ (ดูรายละเอียด: 9730)
ความหมายของ Webhosting (ดูรายละเอียด: 1278)

Powered by WHMCompleteSolution


ภาษา:

LiveZilla Live Help