Jednokratno uključivanje fajlova u PHP
Neka imamo fajl pow.php u kome je
sačuvan skup funkcija:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
Pretpostavimo da koristimo funkcije iz fajla pow.php
u fajlu 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;
}
?>
Pretpostavimo da u glavnom fajlu uključujemo oba fajla sa funkcijama:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Međutim, očekuje nas problem. Fajl
pow.php će biti uključen u fajl
index.php dva puta: sam po sebi i preko fajla
sum.php.
To će dovesti do problema, jer ćemo imati dva skupa funkcija sa istim imenima.
Za rešavanje problema, sve fajlove treba
uključiti pomoću operatora require_once
- on će uključiti fajl samo jednom,
ignorišući ponovna uključivanja:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Napravite nekoliko fajlova sa korisnim skupovima funkcija. Uključite te fajlove jedan u drugi i u vaš glavni fajl.