파일 결합


includerequire와 같은 전처리기 명령은 PHP 소스 파일들을 읽어와서 서로 결합합니다.

C 언어와 같은 스타일의 프로그램은 소스 실행 상단에 미리 정의를 합니다. C언어의 해더 파일들은 대부분 함수나 클래스 등으로 구성하기 때문입니다. 하지만 PHP는 전처리기 명령의 위치를 자유롭게 지정하고 파일 결합 위치를 결정할 수 있습니다.

PHP는 C 언어 해더 파일과 달리 함수와 소스 자체를 읽어와서 서로 결합할 수 있기 때문입니다. PHP는 소스 앞에서도 사용할 수 있고 소스 뒤에서도 사용할 수 있습니다. 심지어 소스 중간에서도 include를 통해 파일 삽입, 결합이 가능합니다.

예제 파일 include-01.php

<?php
	include "header.php";
?>
<html>
	<head>
	</head>
	<body>
	
	<?php
		include "index.php";
	?>

	</body>
</html>

<?php
	include "footer.php";
?>

PHP에서 전처리 명령 include를 통해 소스파일을 삽입하면 전처리기 명령을 선언한 소스 그 자리 안에 지정한 파일의 소스가 삽입됩니다.

어떤 특정한 기능의 파일들은 소스의 삽입 위치가 중요할 수 있습니다. PHP는 소스 자체를 읽어서 삽입을 하기 때문입니다. 하지만 클래스나 함수와 같은 라이브러리 타입의 소스들은 위치에 크게 영향을 받지 않습니다.

대부분 소스파일 분리는 기능적인 부분을 엮어서 파일을 분리합니다(입출력, 파일, 데이터 등).

하지만 워드프레스와 같은 CMS 프로그램은 include 기능을 구조적 레이아웃에 따라 소스를 분리하여 사용하기도 합니다.

header.php   
footer.php  
index.php  
layout.php  

이렇게 구조적으로 분리된 소스 파일들은 유지보수 등을 효율적으로 할 수 있도록 도와줍니다.