Engangsincludering av filer i PHP
La oss si at vi har en fil pow.php hvor
et sett med funksjoner er lagret:
<?php
function square($num) {
return $num ** 2;
}
function cube($num) {
return $num ** 3;
}
?>
La oss si at vi bruker funksjonene fra filen pow.php
i filen 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;
}
?>
La oss si at i hovedfilen inkluderer vi begge filene med funksjoner:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Imidlertid venter det et problem på oss. Til filen
index.php vil filen pow.php bli
inkludert to ganger: direkte og via filen
sum.php.
Dette vil føre til et problem, ettersom vi vil ha to sett med funksjoner med identiske navn.
For å løse problemet bør alle filer
inkluderes via operatoren require_once
- den vil kun inkludere filen én gang,
og ignorere gjentatte inkluderinger:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Opprett flere filer med nyttige sett av funksjoner. Inkluder disse filene til hverandre og til hovedfilen din.