Inclusion unique de fichiers en PHP

Supposons que nous ayons un fichier pow.php, dans lequel est stocké un ensemble de fonctions :

pow.php<?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 :

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 :

index.php<?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 :

index.php<?php
  require_once 'pow.php';
  require_once 'sum.php';
  
  echo square(3) + squareSum([1, 2, 3]);
?>
Задание 1

Créez plusieurs fichiers avec des ensembles utiles de fonctions. Incluez ces fichiers les uns dans les autres et dans votre fichier principal.