
인클루드 파일은 여러 파일에 동일한 코드(ex. 헤더, 푸터)를 반복적으로 작성해야 하는 수고를 덜어준다.
- 인클루드 파일이라는 별도의 PHP 파일에 헤더에 대한 코드를 둔다.
- PHP의 include 구문을 사용하여 그 헤더를 사용하는 모든 페이지에 그 코드를 추가한다.
PHP 인터프리터가 include 구문을 발견하면 인클루드 파일을 사용하는 곳에 그 코드가 있는 것처럼 인클루드 파일의 내용을 가져와서 실행한다.
<?php include 'include/filename.php'; ?>
include와 require 키워드는 모두 키워드 다음에 나오는 경로에 있는 파일의 코드를 추가한다.
이들의 차이점은 PHP 인터프리터가 인클루드 파일을 찾을 수 없거나 읽을 수 없을 경우에 동작하는 방식이다.
- include: 인터프리터가 오류를 생성하지만, 페이지의 나머지 부분을 계속 처리하려고 한다.
- require: 인터프리터가 오류를 생성한 다음에 페이지의 나머지 부분에 대한 처리를 중단한다.
include_once와 require_once는 PHP 인터프리터가 페이지에 코드를 한 번만 포함하도록 하며, 중복의 위험이 있는 경우에만 사용하도록 한다.
header.php
<!DOCTYPE html> <html> <head> <title>The Candy Store</title> <link rel="stylesheet" href="css/styles.css" /> </head> <body> <h1>The Candy Store</h1> <nav> <a href="index.php">Home</a> <a href="candy.php">Candy</a> <a href="about.php">About</a> <a href="contact.php">Contact</a> </nav>footer.php
<footer>© <?php echo date('Y')?></footer> </body> </html>
<?php $stock = 25; if ($stock >= 10) { $message = 'Good availability'; } if ($stock > 0 && $stock < 10) { $message = 'Low stock'; } if ($stock == 0) { $message = 'Out of stock'; } ?> <?php require_once 'includes/header.php'; ?> <h2>Chocolate</h2> <p><?= $message ?></p> <?php include 'includes/footer.php'; ?>
결과

출처 - 존 두켓, <백엔드 프로그래밍을 위한 PHP & MySQL>, Jpub, 2022