Inclusión única de archivos en PHP
Supongamos que tenemos un archivo pow.php, en el cual
se almacena un conjunto de funciones:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
Supongamos que utilizamos las funciones del archivo pow.php
en el archivo 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;
}
?>
Supongamos que en el archivo principal incluimos ambos archivos con funciones:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Sin embargo, nos espera un problema. Al archivo
index.php el archivo pow.php será
incluido dos veces: por sí mismo y a través del archivo
sum.php.
Esto provocará un problema, ya que tendremos dos conjuntos de funciones con los mismos nombres.
Para resolver el problema, se deben incluir todos
los archivos mediante el operador require_once
- éste incluirá el archivo solo una vez,
ignorando inclusiones repetidas:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Cree varios archivos con conjuntos útiles de funciones. Incluya estos archivos entre sí y en su archivo principal.