PHP에서 파일 한 번만 포함하기
함수 집합이 저장된 파일 pow.php가
있다고 가정해 봅시다:
<?php
function square($num) {
return $num ** 2;
}
function cube() {
return $num ** 3;
}
?>
sum.php 파일에서 pow.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]);
?>
그러나 문제가 발생합니다.
pow.php 파일은 index.php 파일에
두 번 포함됩니다: 직접 한 번, 그리고
pow.php 파일을 통해 한 번 더 포함됩니다.
이는 동일한 이름을 가진 두 개의 함수 집합이 생기기 때문에 문제를 일으킬 것입니다.
이 문제를 해결하려면
require_once 연산자를 통해 모든
파일을 포함해야 합니다.
이 연산자는 파일을 한 번만 포함하고
반복적인 포함을 무시합니다:
<?php
require_once 'pow.php';
require_once 'sum.php';
echo square(3) + squareSum([1, 2, 3]);
?>
유용한 함수 집합이 있는 여러 파일을 만드세요. 이 파일들을 서로 연결하고 메인 파일에 연결하세요.