แนะนำตัว
โค้ด PHP ในไฟล์เดียวสามารถใช้กับสคริปต์ PHP อื่นได้โดยใช้ รวม คำแถลง. คุณลักษณะนี้ช่วยให้สามารถพัฒนาโปรแกรมแบบแยกส่วนได้โดยการเขียนฟังก์ชันและชั้นเรียนเพียงครั้งเดียว และเรียกใช้ได้ทุกที่ที่ต้องการ
คำสั่ง include จะตรวจสอบไฟล์ในโฟลเดอร์ปัจจุบันโดยค่าเริ่มต้นและเพิ่มเติมในไดเร็กทอรีที่กล่าวถึงใน include_path การตั้งค่าของ php.ini . หากไฟล์ที่ขอไม่พร้อมใช้งานในโฟลเดอร์ปัจจุบันและโฟลเดอร์ include_path ตัวแยกวิเคราะห์ PHP จะส่ง E_WARNING และการดำเนินการของโมดูลการโทรจะดำเนินต่อไป
ไฟล์ที่รวมสามารถเข้าถึงตัวแปรที่กำหนดไว้ในโมดูลการเรียกก่อนที่จะรวม ตัวแปรดังกล่าวจะมีขอบเขตทั่วโลก
รวมตัวอย่าง
ในตัวอย่างต่อไปนี้ สคริปต์ php หลักประกอบด้วย test.php
ตัวอย่าง
/ /test.php
ผลลัพธ์
ซึ่งจะให้ผลลัพธ์ต่อไปนี้เมื่อเรียกใช้สคริปต์หลักจากบรรทัดคำสั่ง -
ภายในสคริปต์หลัก
กำลังเรียกสคริปต์ test.php
300
ส่งคืนจาก test.php
คำเตือนสำหรับความล้มเหลวรวมถึง
ในตัวอย่างต่อไปนี้ ความพยายามที่จะรวมไฟล์ที่ไม่มีอยู่จะส่งผลให้เกิดการเตือน
ตัวอย่าง
ผลลัพธ์
ซึ่งจะให้ผลลัพธ์ตามมา โปรดทราบว่าโปรแกรมจะไม่หยุดทำงานเมื่อมีการเตือน -
ภายในสคริปต์หลักที่กำลังเรียกใช้ nosuchfile.php scriptPHP Warning:include(nosuchfile.php):failed to open stream:No such file or directory in line 5PHP Warning:include():Failed opening 'nosuchfile.php' for inclusion (include_path) ='C:\xampp\php\PEAR') ในบรรทัดที่ 5 ส่งคืนจาก nosuchfile.php
รวมจากฟังก์ชันภายใน
ในตัวอย่างถัดไป test.php จะรวมอยู่ในฟังก์ชัน รหัสภายในไฟล์ที่รวมจะถือว่าเป็นส่วนหนึ่งของฟังก์ชัน ดังนั้นตัวแปรในไฟล์ include จะไม่สามารถเข้าถึงได้นอกฟังก์ชัน
ตัวอย่าง
<ก่อนหน้า>//สคริปต์หลัก//test.php รวมผลลัพธ์
ซึ่งจะให้ผลลัพธ์ต่อไปนี้เมื่อเรียกใช้สคริปต์หลักจากบรรทัดคำสั่ง−
100test.php ถูกเรียกจากภายใน functionPHP Notice:Undefined variable:var2 in C:\xampp\php\testscript.php on line 9Notice:Undefined variable:var2 in C:\xampp\php\testscript.php on line 9variable from รวมไฟล์นอกฟังก์ชัน
ส่งคืนจากไฟล์รวม
คำสั่ง include จะคืนค่า TRUE เมื่อสำเร็จ และ FALSE เมื่อล้มเหลว หากไฟล์ include ส่งคืนนิพจน์อย่างชัดเจน สามารถใช้โดยการเรียกโมดูลเพื่อดำเนินการต่อไป
ตัวอย่าง
//สคริปต์หลัก//test.php//test1.php//test2.php
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
ค่าที่ส่งคืน :100 ค่าที่ส่งคืน :ค่าที่ส่งคืน :1