Inclusão única de arquivos em PHP

Suponha que temos um arquivo pow.php, no qual está armazenado um conjunto de funções:

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

Suponha que usamos as funções do arquivo pow.php no arquivo 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;
  }
?>

Suponha que no arquivo principal nós incluímos ambos os arquivos com funções:

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

No entanto, nos aguarda um problema. Para o arquivo index.php, o arquivo pow.php será incluído duas vezes: por si só e através do arquivo sum.php.

Isso levará a um problema, pois teremos dois conjuntos de funções com os mesmos nomes.

Para resolver o problema, deve-se incluir todos os arquivos usando o operador require_once - ele incluirá o arquivo apenas uma vez, ignorando inclusões repetidas:

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

Crie vários arquivos com conjuntos úteis de funções. Inclua esses arquivos uns nos outros e no seu arquivo principal.