Jednorázové připojení souborů v PHP

Předpokládejme, že máme soubor pow.php, ve kterém je uložena sada funkcí:

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

Předpokládejme, že používáme funkce ze souboru pow.php v souboru 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;
  }
?>

Předpokládejme, že v hlavním souboru připojujeme oba soubory s funkcemi:

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

Čeká nás však problém. K souboru index.php bude soubor pow.php připojen dvakrát: samostatně a prostřednictvím souboru sum.php.

To povede k problému, protože budeme mít dvou sad funkcí se stejnými názvy.

K vyřešení problému je třeba připojovat všechny soubory pomocí operátoru require_once - ten připojí soubor pouze jednou, a ignoruje opakovaná připojení:

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

Vytvořte několik souborů s užitečnými sadami funkcí. Připojte tyto soubory k sobě navzájem a k vašemu hlavnímu souboru.