Однократное подключение файлов в PHP

Пусть у нас есть файл pow.php, в котором хранится набор функций:

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

Пусть мы используем функции файла pow.php в файле 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;
  }
?>

Пусть в основном файле мы подключаем оба файла с функциями:

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

Нас, однако, поджидает проблема. К файлу index.php файл pow.php будет подключен два раза: сам по себе и через файл pow.php.

Это приведет к проблеме, так как у нас будут два набора функций с одинаковыми именами.

Для решения проблемы следует подключать все файлы через оператор require_once - он будет подключать файл только один раз, игнорируя повторный подключения:

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

Сделайте несколько файлов с полезными наборами функций. Подключите эти файлы друг к другу и к вашему основному файлу.