Enkratno vključevanje datotek v PHP
Recimo, da imamo datoteko pow.php, v kateri
je shranjen niz funkcij:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
Recimo, da uporabljamo funkcije iz datoteke pow.php
v datoteki 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;
}
?>
Recimo, da v glavni datoteki vključimo obe datoteki s funkcijami:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Vendar nas čaka težava. V datoteko
index.php bo datoteka pow.php
vključena dvakrat: enkrat direktno in še prek datoteke
sum.php.
To bo povzročilo težavo, saj bomo imeli dva niza funkcij z enakimi imeni.
Za rešitev težave je treba vse
datoteke vključiti z operatorjem require_once
- ta bo datoteko vključil samo enkrat,
pri čemer bo prezrl morebitna ponovna vključitve:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Naredite več datotek z uporabnimi nizi funkcij. Te datoteke medsebojno povežite in jih povežite z vašo glavno datoteko.