Lidhja e njëhershme e skedarëve në PHP

Le të kemi një skedar pow.php, në të cilin ruhet një grup funksionesh:

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

Le të supozojmë se ne përdorim funksionet e skedarit pow.php në skedarin 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;
  }
?>

Le të supozojmë se në skedarin kryesor ne lidhim të dy skedarët me funksione:

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

Sidoqoftë, ne jemi të prirur për një problem. Në skedarin index.php skedari pow.php do të jetë i lidhur dy herë: vetëm për vete dhe përmes skedarit sum.php.

Kjo do të çojë në problem, pasi ne do të kemi dysh grupe funksionesh me emra të njëjtë.

Për zgjidhjen e problemit duhet të lidhim të gjithë skedarët përmes operatorit require_once - ai do ta lidhë skedarin vetëm një herë, duke injoruar lidhjet e përsëritura:

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

Krijoni disa skedarë me grupe të dobishme funksionesh. Lidhini këto skedarë me njëri-tjetrin dhe me skedarin tuaj kryesor.