Inclusion unique de fichiers en PHP
Supposons que nous ayons un fichier pow.php, dans lequel
est stocké un ensemble de fonctions :
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
Supposons que nous utilisons les fonctions du fichier pow.php
dans le fichier 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;
}
?>
Supposons que dans le fichier principal nous incluons les deux fichiers avec les fonctions :
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Cependant, un problème nous guette. Le fichier
pow.php sera inclus deux fois dans le fichier
index.php : une fois directement et une fois via le fichier
sum.php.
Cela posera problème, car nous aurons deux ensembles de fonctions avec les mêmes noms.
Pour résoudre le problème, il faut inclure tous les
fichiers via l'opérateur require_once
- il n'inclura le fichier qu'une seule fois,
ignorant les inclusions répétées :
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Créez plusieurs fichiers avec des ensembles utiles de fonctions. Incluez ces fichiers les uns dans les autres et dans votre fichier principal.