การรวมไฟล์ของสคริปต์ PHP สามารถตั้งชื่อไฟล์ได้ตามต้องการ นามสกุลอะไรก็ได้ เมื่อมีการรวมไฟล์แล้ว การเรียกฟังก์ชันในไฟล์ที่รวมต้องอยู่หลังประโยคคำสั่ง include หรือ require ถ้าเรียกฟังก์ชันก่อนประโยคคำสั่งนี้จะเกิดความผิดพลาด
ฟังก์ชัน include()
เมื่อใช้ ถ้าไม่เจอไฟล์ตามที่ระบุ มันจะรายงาน error แค่ Warning เท่านั้นแล้วก็ข้ามไปส่วนอื่นต่อได้ จึงนิยมใช้เรียกไฟล์พวกข้อความ หรือ html ธรรมดา
ฟังก์ชั่น Include_once()
จะเป็นการทำงานที่เหมือน include() เพียงแต่ว่า มันจะเรียกเข้ามาครั้งเดียวเท่านั้น สมมุติว่าเราใส่ Include_once() ไว้ใน Loop แล้วให้มันใช้ฟังก์ชั่นนี้ซ้ำ ๆ มันจะเรียกไฟล์มาครั้งเดียวเท่านั้น
ฟังก์ชั่น require()
เมื่อใช้ ถ้าไม่เจอไฟล์ตามที่ระบุแล้ว มันจะรายงาน error มาเป็น Final error ทันที แล้วก็จะโปรแกรมก็จะหยุดแค่ตรงนั้น จีงนิยมใช้เรียกไฟล์ที่เก็บฟังก์ชัน, คลาส หรือค่า config ต่าง ๆ ที่มีความจำเป็นมาก
ฟังก์ชั่น Require_once()
การทำงานเหมือน ๆ กับ include_once() ผสมกัน คือการทำงานจะเหมือน Require() เพียงแต่ว่ามันจะเรียกไฟล์เ้ข้ามาในสคริปต์แค่ครั้งเดียว
การแก้ปัญหาการใช้ไฟล์ร่วม
ในการใช้การรวมไฟล์ด้วยคำสั่ง require() และ include() ถ้าการอ้างอิงของสคริปต์ตั้งแต่ 2 ไฟล์ขึ้นไปอ้างถึงไฟล์ไลบรารีเดียวกัน การกระจายของ PHP จะทำซ้ำกัน จึงเกิดปัญหาที่ PHP เข้าใจว่ามีการประกาศฟังก์ชันซ้ำกัน การหลีกเลี่ยงปัญหานี้ให้ใช้ require_once() และ include_once()
การสร้างเว็บเพจต้นแบบ
ถ้าเว็บไซต์มีเพจจำนวนมาก ในแต่ละหน้าจะมีส่วนหัวและส่วนล่างเหมือนกัน สามารถใช้การรวมไฟล์เพื่อเรียกไฟล์ไลบรารีต้นแบบมาสร้างส่วนที่ใช้งานร่วมกัน
การระบุตำแหน่งไฟล์รวม
สำหรับ Unix
require("../../lib/db_fns.inc");
require("home/httpd/lib/output/heder.inc");
สำหรับ Windows
require("..\..\Libs\Database\connections.inc");
require("D:WebApps\Libs\MathFunctions\area.inc");
ถ้าไม่ได้ระบุพาร์ท PHP จะมองหาในไดเรคทอรีปัจจุบัน ตามด้วยรายการไดเรคทอรีจากการตั้งค่า include_path ในไฟล์ php.ini ภายใต้ Unix ตัวอักษรแบ่งคือ colon (:)
สำหรับ Windows ตัวอักษรแบ่งคือ semicolon (;)
ตัวอย่างการตั้งค่าภายใต้ระบบ Unix
include_path=".:/usr/local/lib/php:/home/httpd/globalincs"
ภายใต้ Windows การตั้งค่าคือ
include_path=".;C\PHP\include;D:\WebApps\Libs "
ตัวอย่างการใช้ require ()
ไฟล์ wel.inc
<p align="center">
<?php
echo "<h1>Welcome</h1>";
?>
</p>
ไฟล์ main.php
<html>
<head>
<title>File Include Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-11">
</head>
<body>
<?php
echo "<b>หน้าหลัก </b><br/>";
require("wel.inc");
echo "<b>จบ</b><br/>";
?>
</body>
</html>
ตัวอย่างการใช้ include ()
<?php
include("welcome.inc");
?>
ไม่มีความคิดเห็น:
แสดงความคิดเห็น