Failide ühekordne kaasamine PHP-s

Oletame, et meil on fail pow.php, milles hoitakse funktsioonide kogumit:

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

Oletame, et me kasutame faili pow.php funktsioone failis 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;
  }
?>

Oletame, et põhifailis kaasame mõlemad funktsioonide failid:

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

Siiski ootab meid probleem. Faili index.php fail pow.php kaasatakse kaks korda: iseenesest ja läbi faili pow.php.

See põhjustab probleemi, kuna meil on kaks samanimeliste funktsioonide komplekti.

Probleemi lahendamiseks tuleks kõik failid kaasada läbi operaatori require_once - see kaasab faili ainult üks kord, ignoreerides korduvaid kaasamisi:

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

Looge mitu faili kasulike funktsioonide kogumitega. Kaasake need failid üksteisele ja oma põhifailile.