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が2回読み込まれることになります:直接1回と、ファイルsum.phpを介してもう1回です。

これにより、同じ名前の関数セットが2つ存在することになり、問題が発生します。

この問題を解決するには、すべてのファイルを演算子require_onceを使用して読み込む必要があります。この演算子はファイルを一度だけ読み込み、重複する読み込みを無視します:

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

便利な関数セットを持つ複数のファイルを作成してください。これらのファイルを互いに、そしてメインファイルに読み込んでください。