Engångsincludering av filer i PHP
Låt oss säga att vi har en fil pow.php, där
en uppsättning funktioner lagras:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
Låt oss säga att vi använder funktionerna från filen pow.php
i filen 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;
}
?>
Låt oss säga att vi inkluderar båda filer med funktioner i huvudfilen:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Men vi har ett problem. Filen
pow.php kommer att inkluderas
till index.php två gånger: direkt och via filen
sum.php.
Detta kommer att leda till ett problem, eftersom vi kommer att ha två uppsättningar funktioner med samma namn.
För att lösa problemet bör alla
filer inkluderas med operatorn require_once
- den kommer bara att inkludera filen en gång,
och ignorera upprepade inkluderingar:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Skapa flera filer med användbara uppsättningar av funktioner. Inkludera dessa filer i varandra och i din huvudfil.