การเชื่อมต่อไฟล์เพียงครั้งเดียวใน PHP
สมมติว่าเรามีไฟล์ pow.php ซึ่ง
เก็บชุดของฟังก์ชันไว้:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
สมมติว่าเราใช้ฟังก์ชันจากไฟล์ pow.php
ในไฟล์ sum.php:
<?php
require 'pow.php';
function squareSum($arr) {
$res = 0;
foreach ($arr as $elem) {
$res += square($elem);
}
return $res;
}
function cubeSum($arr) {
$res = 0;
foreach ($arr as $elem) {
$res += cube($elem);
}
return $res;
}
?>
สมมติว่าในไฟล์หลักเราเชื่อมต่อทั้งสอง ไฟล์ที่มีฟังก์ชัน:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
อย่างไรก็ตาม มีปัญหารอเราอยู่ สำหรับไฟล์
index.php ไฟล์ pow.php จะ
ถูกเชื่อมต่อสองครั้ง: ด้วยตัวมันเองและผ่านไฟล์
pow.php
สิ่งนี้จะนำไปสู่ปัญหา เนื่องจากเราจะมี ชุดฟังก์ชันสองชุดที่มีชื่อเดียวกัน
เพื่อแก้ปัญหา ควรเชื่อมต่อไฟล์ทั้งหมด
ผ่านตัวดำเนินการ require_once
- มันจะเชื่อมต่อไฟล์เพียงครั้งเดียวเท่านั้น
และละเว้นการเชื่อมต่อซ้ำ:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
สร้างไฟล์หลายไฟล์ด้วยชุดฟังก์ชันที่มีประโยชน์ เชื่อมต่อไฟล์เหล่านี้เข้าหากัน และเข้าสู่ไฟล์หลักของคุณ