【PHP】includeを使ってヘッダーやフッター部分を複数ページで共通化する方法

Webサイトを作成する際、ヘッダーやフッターをすべてのページに手動で追加すると、更新が大変になります。そこで、PHPのincludeを使うことで、ヘッダーやフッター部分を共通化し、効率的に管理することができます。

本記事では、includeの基本的な使い方や、ヘッダー・フッターを共通化する具体的な方法を紹介します。

includeとは?

PHPのincludeは、外部のPHPファイルを読み込むための関数です。

<?php include 'header.php'; ?>

このコードを記述すると、header.phpの内容が現在のスクリプト内に挿入されます。

includeとrequireの違い

PHPにはincludeと似た関数にrequireがあります。

include
指定したファイルが見つからない場合でも、警告(Warning)を出し、スクリプトの実行を継続する

require
指定したファイルが見つからない場合、致命的なエラー(Fatal Error)を出し、スクリプトの実行を停止する

エラーハンドリングが重要な場合はrequireを使用するのが適しています。

include_onceとrequire_onceの違い

include_onceやrequire_onceを使うと、同じファイルが複数回読み込まれることを防げます。

<?php
include_once 'header.php'; // 1回だけ読み込む
require_once 'config.php'; // 1回だけ読み込む
?>

この方法を使うと、誤って同じファイルを何度も読み込むことを防げるため、プログラムの安定性が向上します。

ヘッダーやフッターを共通化する方法

ヘッダー・フッターの作成

まず、ヘッダーとフッターのテンプレートを別ファイルとして作成します。

header.php

<!DOCTYPE html>
<html>
<head>
    <title>共通ヘッダー</title>
</head>
<body>
    <header>
        <h1>サイトのタイトル</h1>
    </header>

footer.php

<footer>
        <p>© 2024 My Website</p>
    </footer>
</body>
</html>

includeを使って各ページにヘッダー・フッターを読み込む

次に、各ページ(例:index.php)でincludeを使ってヘッダーとフッターを読み込みます。

<?php include 'header.php'; ?>
    <main>
        <p>これはメインコンテンツです。</p>
    </main>
<?php include 'footer.php'; ?>

このようにすることで、ヘッダーやフッターを個別に記述せずに済みます。

設定ファイルをincludeする

サイトの設定情報を一元管理したい場合、config.phpのような設定ファイルを作成し、それを各ページでincludeする方法も有効です。

config.php

<?php
$site_name = "My Website";
$db_host = "localhost";
$db_user = "root";
$db_pass = "password";
?>

index.php

<?php
include 'config.php';
echo "<h1>ようこそ $site_name へ</h1>";
?>

これにより、設定情報を一箇所で管理し、変更が必要になった場合も1ファイルの修正で済むようになります。

まとめ

  • includeを使うことで、ヘッダーやフッターのコードを共通化できる。
  • includeはファイルが見つからなくても処理を続行するが、requireはエラーで処理を停止する。
  • include_once、require_onceを使えば、同じファイルの重複読み込みを防げる。
  • 設定ファイルをincludeすることで、管理しやすくなる。

PHPのincludeを活用することで、Webサイトの管理が楽になり、コードのメンテナンス性も向上します。ぜひ、プロジェクトに取り入れてみてください。