Аднакратнае падключэнне файлаў у PHP
Хай у нас ёсць файл pow.php, у якім
захоўваецца набор функцый:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
Хай мы выкарыстоўваем функцыі файла pow.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;
}
?>
Хай у асноўным файле мы падключаем абодва файлы з функцыямі:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Нас, аднак, падпільноўвае праблема. Да файла
index.php файл pow.php будзе
падключаны два разы: сам па сабе і праз файл
pow.php.
Гэта прывядзе да праблемы, так як у нас будуць два наборы функцый з аднолькавымі імёнамі.
Для вырашэння праблемы варта падключаць усе
файлы праз аператар require_once
- ён будзе падключаць файл толькі адзін раз,
ігнаруючы паўторнае падключэнні:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Зрабіце некалькі файлаў з карыснымі наборамі функцый. Падключыце гэтыя файлы адзін да аднаго і да вашага асноўнага файлу.