Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

คำสั่ง require ใน PHP

บทนำ

ผลของคำสั่ง require คล้ายกับคำสั่ง include ใน PHP อย่างไรก็ตาม มีความแตกต่างหลักหนึ่ง หาก parser ไม่พบไฟล์ที่ต้องการ จะสร้าง fatal error ทำให้สคริปต์ปัจจุบันสิ้นสุดการทำงาน คำสั่ง include ในทางกลับกันจะแจ้งเตือน (warning) กรณีไม่พบไฟล์ และการดำเนินการของสคริปต์ปัจจุบันจะดำเนินต่อไป

PHP parser พยายามหาไฟล์ในโฟลเดอร์ปัจจุบันโดยค่าเริ่มต้น และต่อไปในไดเรกทอรีที่ระบุในการตั้งค่า include_path ของ php.ini เหมือนกับกรณี include statement หากไฟล์ที่ขอไม่มีในโฟลเดอร์ปัจจุบันและโฟลเดอร์ include_path PHP parser จะปล่อย E_COMPILE_ERROR และหยุดการดำเนินการของโมดูลที่เรียก

พฤติกรรมอื่นๆ ของ require statement คล้ายกับ include statement

ตัวอย่าง require

ในตัวอย่างต่อไปนี้ main php script include 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; //เข้าถึง $var1 จาก main script echo $var1+$var2 . "\n"; ?>

ผลลัพธ์

inside main script<br />now calling test.php script<br /><br />300<br />returns from test.php

ข้อผิดพลาดเมื่อ require ล้มเหลว

ในตัวอย่างต่อไปนี้ พยายาม include ไฟล์ที่ไม่มีอยู่ ทำให้เกิดข้อผิดพลาดร้ายแรง:

ตัวอย่าง

<?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