Kết nối một lần các tập tin trong PHP
Giả sử chúng ta có một tập tin pow.php, trong đó
lưu trữ một bộ các hàm:
<?php
function square($num) {
return $num ** 2;
}
function cube($num) {
return $num ** 3;
}
?>
Giả sử chúng ta sử dụng các hàm của tập tin pow.php
trong tập tin 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;
}
?>
Giả sử trong tập tin chính, chúng ta kết nối cả hai tập tin chứa hàm:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Tuy nhiên, có một vấn đề đang chờ đợi chúng ta. Đối với tập tin
index.php, tập tin pow.php sẽ
được kết nối hai lần: một lần trực tiếp và một lần thông qua tập tin
sum.php.
Điều này sẽ dẫn đến sự cố, vì chúng ta sẽ có hai bộ hàm với tên giống nhau.
Để giải quyết vấn đề, nên kết nối tất cả
các tập tin thông qua toán tử require_once
- nó sẽ chỉ kết nối tập tin một lần,
bỏ qua các lần kết nối lặp lại:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Hãy tạo một số tập tin với các bộ hàm hữu ích. Kết nối các tập tin này với nhau và với tập tin chính của bạn.