Inclusão única de arquivos em PHP
Suponha que temos um arquivo pow.php, no qual
está armazenado um conjunto de funções:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
Suponha que usamos as funções do arquivo pow.php
no arquivo 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;
}
?>
Suponha que no arquivo principal nós incluímos ambos os arquivos com funções:
<?php
require 'pow.php';
require 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
No entanto, nos aguarda um problema. Para o arquivo
index.php, o arquivo pow.php será
incluído duas vezes: por si só e através do arquivo
sum.php.
Isso levará a um problema, pois teremos dois conjuntos de funções com os mesmos nomes.
Para resolver o problema, deve-se incluir todos
os arquivos usando o operador require_once
- ele incluirá o arquivo apenas uma vez,
ignorando inclusões repetidas:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
Crie vários arquivos com conjuntos úteis de funções. Inclua esses arquivos uns nos outros e no seu arquivo principal.