Eenmalig includeren van bestanden in PHP

Stel we hebben een bestand pow.php, waarin een verzameling functies staat:

pow.php<?php
  function square($num) {
    return $num ** 2;
  }
  
  function cube() {
    return $num ** 3;
  }
?>

Stel we gebruiken de functies uit bestand pow.php in bestand 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;
  }
?>

Stel dat we in het hoofdbestand beide bestanden met functies includeren:

index.php<?php
  require 'pow.php';
  require 'sum.php';
  
  echo square(3) + squareSum([1, 2, 3]);
?>

Er wacht ons echter een probleem. Voor het bestand index.php zal het bestand pow.php twee keer worden geïncludeerd: op zichzelf en via het bestand sum.php.

Dit zal tot een probleem leiden, omdat we dan twee sets functies met dezelfde namen hebben.

Om het probleem op te lossen, moeten alle bestanden worden geïncludeerd via de operator require_once - deze zal een bestand slechts één keer includeren, en herhaalde inclusies negeren:

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

Maak meerdere bestanden met nuttige sets functies. Includeer deze bestanden in elkaar en in je hoofdbestand.