Einmaliges Einbinden von Dateien in PHP

Nehmen wir an, wir haben eine Datei pow.php, in der ein Satz von Funktionen gespeichert ist:

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

Nehmen wir an, wir verwenden die Funktionen der Datei pow.php in der Datei 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;
  }
?>

Nehmen wir an, in der Hauptdatei binden wir beide Dateien mit Funktionen ein:

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

Es erwartet uns jedoch ein Problem. Die Datei pow.php wird in die Datei index.php zweimal eingebunden: direkt und über die Datei sum.php.

Das wird zu einem Problem führen, da wir dann zwei Sätze von Funktionen mit gleichen Namen haben.

Um das Problem zu lösen, sollten alle Dateien mit dem Operator require_once eingebunden werden - er bindet die Datei nur einmal ein und ignoriert erneute Einbindungen:

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

Erstellen Sie mehrere Dateien mit nützlichen Sätzen von Funktionen. Binden Sie diese Dateien gegenseitig und in Ihrer Hauptdatei ein.