Engangsinkludering af filer i PHP

Lad os sige, at vi har en fil pow.php, hvor et sæt funktioner er gemt:

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

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:

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

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

Opret flere filer med nyttige sæt af funktioner. Inkluder disse filer til hinanden og til din hovedfil.