Jednorazové pripojenie súborov v PHP
Majme súbor pow.php, v ktorom
je uložený súbor funkcií:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
Predpokladajme, že používame funkcie súboru pow.php
v súbore 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;
}
?>
Predpokladajme, že v hlavnom súbore pripájame oba súbory s funkciami:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Avšak čelíme problému. K súboru
index.php bude súbor pow.php
pripojený dvakrát: samostatne a cez súbor
sum.php.
To povedie k problému, pretože budeme mať dve sady funkcií s rovnakými názvami.
Na vyriešenie problému je potrebné pripájať všetky
súbory pomocou operátora require_once
- ten pripojí súbor iba raz,
ignorujúc opakované pripojenia:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Vytvorte niekoľko súborov s užitočnými sadami funkcií. Pripojte tieto súbory navzájom a k vášmu hlavnému súboru.