Jednokrotne dołączanie plików w PHP

Załóżmy, że mamy plik pow.php, w którym przechowywany jest zestaw funkcji:

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

Załóżmy, że używamy funkcji z pliku pow.php w pliku 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;
  }
?>

Załóżmy, że w głównym pliku dołączamy oba pliki z funkcjami:

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

Jednak czeka nas problem. Do pliku index.php plik pow.php będzie dołączony dwa razy: bezpośrednio i przez plik sum.php.

Spowoduje to problem, ponieważ będziemy mieli dwa zestawy funkcji o tych samych nazwach.

Aby rozwiązać problem, należy dołączać wszystkie pliki za pomocą operatora require_once - będzie on dołączał plik tylko raz, ignorując powtórne dołączenia:

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

Stwórz kilka plików z przydatnymi zestawami funkcji. Dołącz te pliki do siebie nawzajem i do swojego głównego pliku.