PHP-də faylların bir dəfə qoşulması

Tutaq ki, bizim pow.php adlı faylımız var, hansında ki, funksiyalar toplusu saxlanılır:

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

Tutaq ki, biz pow.php faylındakı funksiyaları sum.php faylında istifadə edirik:

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;
  }
?>

Tutaq ki, əsas faylda biz hər iki funksiyalar faylını qoşuruq:

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

Lakin bizi problem gözləyir. pow.php faylı index.php faylına iki dəfə qoşulacaq: birbaşa özü və sum.php faylı vasitəsilə.

Bu problemə səbəb olacaq, çünki eyni adlı iki funksiyalar toplumumuz olacaq.

Problemi həll etmək üçün bütün fayllar require_once operatoru vasitəsilə qoşulmalıdır - o, faylı yalnız bir dəfə qoşacaq, təkrarlanan qoşulmaları isə ignore edəcək:

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

Faydalı funksiyalar toplusu olan bir neçə fayl hazırlayın. Bu faylları bir-birinə və əsas faylınıza qoşun.