Conectarea unică a fișierelor în PHP

Să presupunem că avem un fișier pow.php, în care este stocat un set de funcții:

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

Să presupunem că utilizăm funcțiile din fișierul pow.php în fișierul 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;
  }
?>

Să presupunem că în fișierul principal conectăm ambele fișiere cu funcții:

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

Cu toate acestea, ne așteaptă o problemă. Către fișierul index.php fișierul pow.php va fi conectat de două ori: prin sine însuși și prin fișierul sum.php.

Aceasta va duce la o problemă, deoarece vom avea două seturi de funcții cu aceleași nume.

Pentru a rezolva problema, ar trebui să conectăm toate fișierele prin operatorul require_once - acesta va conecta fișierul doar o singură dată, ignorând conexiunile repetate:

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

Creați mai multe fișiere cu seturi utile de funcții. Conectați aceste fișiere unul la altul și la fișierul dvs. principal.