📁 作成ファイル・保存場所
XAMPPがインストールされているhtdocs フォルダに以下のファイルを作成してください。
| ファイル名 | 内容 |
|---|---|
| htdocs/php-basic/08.php | PHPとHTML |
- XAMPP(Apacheが起動していること)
- XAMPPがインストールされているhtdocs フォルダに内に作成されていること
今回のテーマ
require、require_once、include、include_once を使って、他ファイルを読み込む方法を学ぼう!
目的
- 他の PHP ファイルを読み込む手段(require / include 系)を理解する
- 読み込み失敗時の挙動(致命的エラー vs 警告)を理解する
*_once系を使って、一度だけ読み込む仕組みを知ることで、二重読み込みを防ぐ意識を持つ
チェックポイント
require/includeの違いが理解できているか?_once系を使うことで重複読み込みを防げるか?- 読み込み失敗時の挙動(停止する/続行する)がわかっているか?
requireを使ってファイルを別ける
以下のように、1つのファイルから、他のページでも共通部分である、header をheader.php。footerをfooter.php。関数部分をfunctions.phpにわけておきます。
header.php(ページ共通のヘッダー内容をまとめる)
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>共通ヘッダー</title> </head> <body> <header> <h1>ヘッダー部分</h1> </header>
footer.php(ページ共通のフッター内容をまとめる)
<footer> <p>© 2025 WebTraining</p> </footer> </body> </html>
functions.php(共通の関数を定義して、再利用できるように)
<?php
function sayHeading($text) {
echo "<h2>{$text}</h2>";
}
?>
index.php
<?php
// 共通パーツを読み込む
require 'header.php';
require_once 'functions.php';
include 'nonexistent.php'; // 存在しない場合に警告のみ
include_once 'functions.php'; // 2回目は読み込まない
sayHeading('別ファイル読み込みの例');
?>
<main>
<p>これはメインコンテンツです。</p>
</main>
<?php require 'footer.php'; ?>
require 'header.php';→ ファイルが無い場合、エラーで処理停止。必須読み込みに適す。require_once 'functions.php';→ 一度だけ読み込むため重複を避けられる。include 'nonexistent.php';→ 存在しないと警告が出て処理は継続。読み込み失敗時の挙動を確認できる。include_once 'functions.php';→ 二回目の読み込みはスキップされ、重複を防止。
4つの構文の違いまとめ
スクロールできます
| 構文 | ファイルが存在しない場合 | 読み込み回数 | 主な用途 |
|---|---|---|---|
| require | 致命的エラー(処理が停止する) | 毎回読み込む | 絶対に必要なファイル(設定・ヘッダーなど) |
| require_once | 致命的エラー(処理が停止する) | 1回だけ(2回目以降は無視) | 関数定義・クラス定義ファイル(重複定義を防ぐ) |
| include | 警告(Warning)(処理は続行する) | 毎回読み込む | あれば便利なファイル(任意のテンプレートなど) |
| include_once | 警告(Warning)(処理は続行する) | 1回だけ(2回目以降は無視) | オプション的に使う関数定義・パーツファイル |
- require 系 → プログラムに必須なファイルを読み込むときに使う。失敗すると処理を止めるので安全性が高い。
- include 系 → あれば読み込むが、無くても処理を続行する。動的に「ある場合だけ読み込む」処理に使える。
- *_once → 同じファイルを二重に読み込んでしまうのを防ぐ。関数やクラスの重複定義によるエラー回避に必須。
PHP基礎トレーニング
実際に動作を試して、違いを体感してみましょう。
<?php
require 'header.php';
echo "<p>ファイル読み込みテスト</p>";
try {
include 'missing.php';
} catch (Throwable $e) {
echo "<p>include に失敗しました: {$e->getMessage()}</p>";
}
require_once 'functions.php';
require_once 'functions.php'; // 読み込みされないことを確認
sayHeading('テスト完了');
require 'footer.php';
?>
missing.phpの読み込みで警告が出るが、処理は継続されることを確認。functions.phpはrequire_onceによって、二回目読み込みされないことを確認。- 動きをページに表示して、違いを見てみましょう。
表示確認の手順
下記のコード入力が終わったら、以下の手順で動作を確認してみましょう。
- XAMPP を起動
「Apache」が起動していることを確認します。 - ブラウザを開く
Google Chrome など、普段使っているブラウザを開きます。 - アドレスバーに入力
次のURLを直接入力して Enter を押します
http://localhost/php-basic/
- 01.php をクリック
フォルダ一覧の中に「02.php」というファイル名が見えたら、それをクリックしてください。 - ページが表示されれば成功!
「PHP基礎学習のスタートです」や「ウェブトレーニングで頑張りましょう」などの文字が表示されていれば、PHPが正しく動いています。
