แนะนำตัว
ผลของคำสั่ง require คล้ายกับ include คำสั่งใน PHP อย่างไรก็ตาม มีข้อแตกต่างหลักประการหนึ่ง หาก parser ไม่พบไฟล์ที่ต้องการ จะทำให้เกิดข้อผิดพลาดร้ายแรง ดังนั้นจึงยุติสคริปต์ปัจจุบัน ในทางกลับกัน คำสั่ง include จะส่งคำเตือนในกรณีที่ไม่พบไฟล์และการดำเนินการของสคริปต์ปัจจุบันจะดำเนินต่อไป
PHP parser พยายามค้นหาไฟล์ในโฟลเดอร์ปัจจุบันโดยค่าเริ่มต้นและเพิ่มเติมในไดเร็กทอรีที่กล่าวถึงใน include_path การตั้งค่าของ php.ini เช่นกรณีของคำสั่งรวม หากไฟล์ที่ขอไม่พร้อมใช้งานในโฟลเดอร์ปัจจุบันและโฟลเดอร์ include_path ตัวแยกวิเคราะห์ PHP จะปล่อย E_COMPILE_ERROR และการดำเนินการของโมดูลการโทรจะหยุดลง
ลักษณะการทำงานอื่น ๆ ของคำสั่ง require คล้ายกับการรวมคำสั่ง .
ต้องการตัวอย่าง
ในตัวอย่างต่อไปนี้ สคริปต์ php หลักประกอบด้วย test.php
ตัวอย่าง
<?php echo "inside main script\n"; $var1=100; echo "now calling test.php script\n"; require "test.php"; echo "returns from test.php"; ?> //test.php <?php $var2=200; //accessing $var1 from main script echo $var1+$var2 . "\n"; ?>
ผลลัพธ์
ซึ่งจะให้ผลลัพธ์ต่อไปนี้เมื่อเรียกใช้สคริปต์หลักจากบรรทัดคำสั่ง -
inside main script<br />now calling test.php script<br /><br />300<br />returns from test.php
ข้อผิดพลาดสำหรับความต้องการที่ล้มเหลว
ในตัวอย่างต่อไปนี้ ความพยายามที่จะรวมไฟล์ที่ไม่มีอยู่จะส่งผลให้เกิดการเตือน
ตัวอย่าง
<?php echo "inside main script\n"; $var1=100; echo "now calling nosuchfile.php script\n"; require "nosuchfile.php"; echo "returns from nosuchfile.php"; ?>
ผลลัพธ์
ซึ่งจะให้ผลลัพธ์ตามมา โปรดทราบว่าโปรแกรมถูกหยุดโดยข้อผิดพลาด -
inside main script now calling nosuchfile.php script PHP Fatal error: require(): Failed opening required 'nosuchfile.php' (include_path='C:\xampp\php\PEAR') in line 5 Fatal error: require(): Failed