Engangsinkludering af filer i PHP
Lad os sige, at vi har en fil pow.php, hvor
et sæt funktioner er gemt:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
Lad os sige, at vi bruger funktionerne 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;
}
?>
Lad os sige, at vi inkluderer begge funktionsfiler i hovedfilen:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Men der venter os et problem. Til filen
index.php vil filen pow.php blive
inkluderet to gange: direkte og via filen
sum.php.
Dette vil føre til et problem, fordi vi vil have to sæt funktioner med de samme navne.
For at løse problemet bør alle filer inkluderes
via operatoren require_once
- den vil kun inkludere filen én gang og
ignorere gentagne inkluderinger:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Opret flere filer med nyttige sæt af funktioner. Inkluder disse filer til hinanden og til din hovedfil.