PHP
PR

PHP 4-3|PHPのincludeとは?共通パーツを読み込む考え方

PHP 4-3のアイキャッチ画像。PHPのincludeを使ってheader.php、sidebar.php、footer.phpなどの共通パーツを読み込み、ページを組み立てる考え方を表している
toshi
記事内に商品プロモーションを含む場合があります

PHP 4-2では、WordPressテーマの中で、

header.php

footer.php

single.php

page.php

など、役割ごとにPHPファイルが分かれていることを見てきました。
そこで、こんな疑問が出てくるかもしれません。

「別々のPHPファイルを、どうやって1つのページにつなげるの?」

今回は、この考え方をPHPそのものへ戻して確認します。
そこで登場するのが、

include

です。

includeを難しく考える必要はありません。

まずは、

「別のPHPファイルを、ここへ読み込んで使う」

ための仕組みだと考えてみましょう。

PHP 4-3のゴール

今回覚えたいことは3つです。

  • includeを使うと別のPHPファイルを読み込める
  • 共通パーツを別ファイルにすると再利用しやすい
  • PHP 4-2で見たWordPressテーマの考え方につながる

書き方を丸暗記するより、

「なぜファイルを分けて読み込むのか」

を理解することを優先しましょう。

includeとは?

include は、指定したファイルを読み込んで、その場所で利用するためのPHPの仕組みです。

たとえば、

header.php

というファイルにサイト上部の共通部分を書いておいたとします。

それを index.php から読み込みたい場合、

include

を使うことができます。

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

この1行によって、

「ここでheader.phpを読み込んでください」

とPHPへ伝えることができます。

PHP公式マニュアルでも、include は指定したファイルを読み込み、
評価する仕組みとして定義されています。

ですが、今は「評価」という言葉まで深く考えなくて大丈夫です。

まずは、

別ファイルを読み込める

と覚えておきましょう。

なぜファイルを分けるの?

ここで、

「最初から全部index.phpへ書けばいいのでは?」

と思うかもしれません。

小さなページなら、それでも動きます。

ですがページが増えると、同じ内容を何度も書くことになります。

たとえば3ページすべてに同じヘッダーを書くとします。

index.phpにヘッダーを書く


ブロックタイプまたはスタイルを変更
段落ブロックを39から38へ上方向に移動

段落ブロックを39から40へ下方向に移動

テキストの配置を変更
さらにブロックツールを表示

about.phpにも同じヘッダーを書く

contact.phpにも同じヘッダーを書く

これでも表示できます。

しかし、あとからサイト名やメニューを変更するとどうでしょうか。

3つのファイルをそれぞれ修正しなければなりません。

そこで、

共通部分を1つのファイルへまとめる

という考え方が役立ちます。

header.phpに共通ヘッダーを書く

index.phpから読み込む

about.phpからも読み込む

contact.phpからも読み込む

この形なら、ヘッダーを変更したいときは、

header.phpを修正するだけ

で済みます。

includeを使ってファイルを分けるメリット

  • 同じ内容を何度も書かなくてよい
  • 複数のページで再利用できる
  • 修正する場所をまとめやすい
  • ファイルごとの役割を整理しやすい
  • ページが増えても管理しやすくなる

これが、今回の include で特に理解してほしい考え方です。

includeでheader.phpを読み込んでみる

簡単な例を見てみましょう。

まず、

header.php

を用意します。

<header>
    <h1>ToshiLab</h1>

    <nav>
        <a href="#">ホーム</a>
        <a href="#">記事一覧</a>
        <a href="#">お問い合わせ</a>
    </nav>
</header>
PHP

このファイルには、サイト上部で共通して使いたい内容だけを書いておきます。

次に、
index.phpから
header.php を読み込みます。

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

<main>
    <h2>トップページ</h2>
    <p>ここには、このページだけの内容を書きます。</p>
</main>
PHP

ここで重要なのは、

header.phpの内容をindex.phpへコピーしているわけではない

ということです。
PHPが実行されるときに、

include 'header.php';

と書かれた場所で、header.phpの内容が読み込まれます。

PHPのincludeでheader.php、sidebar.php、footer.phpなどの共通パーツをindex.phpから読み込み、1つの完成ページを作る流れを示した説明図
includeは、別ファイルに分けた共通パーツを必要なページから読み込み、1つのページとして使うための仕組みです。

記事内説明画像を見ると、

共通パーツを別ファイルにする

必要なページからincludeする

PHPがファイルを読み込む

1つのページとして表示する

という流れがイメージしやすいと思います。

header.phpだけではありません

includeで読み込めるのは、header.phpだけではありません。
たとえば、

sidebar.php

footer.php

なども別ファイルとして用意できます。
そしてページ側では、

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

<div class="container">

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

    <main>
        <h2>ページごとの内容</h2>
        <p>ここには、このページだけの内容を書きます。</p>
    </main>

</div>

<?php include 'footer.php'; ?>
PHP

のように、それぞれを読み込むことができます。

ページをパーツに分けて考えてみよう

header.php
サイト上部の共通部分

sidebar.php
サイドバーの共通部分

index.php
そのページ固有の内容

footer.php
サイト下部の共通部分

それぞれを別ファイルにして、必要な場所から読み込むことができます。

この考え方が分かると、PHP 4-2で見たWordPressテーマのファイル構成も少し理解しやすくなります。

PHP 4-2で見たWordPressとつながってきた

PHP 4-2では、クラシックテーマで、

header.php

footer.php

などのファイルが使われることを確認しました。
今回PHP単体で include を学んだことで、

「共通パーツを別ファイルへ分けて、必要な場所から読み込む」

という考え方そのものが見えてきました。
ただし、ここには1つ注意があります。

WordPressのクラシックテーマでは、
header.phpやfooter.phpを読み込むときに、
通常のPHP include をそのまま書くのではなく、

get_header()

get_footer()

など、WordPressが用意している関数を使うのが基本です。

<?php get_header(); ?>

<main>
    <h1><?php the_title(); ?></h1>
</main>

<?php get_footer(); ?>
PHP

WordPress公式Theme Handbookでも、クラシックテーマでは get_header()get_sidebar()get_footer()get_template_part() などを使って
テンプレートファイルを読み込む方法が案内されています。

PHPのincludeとWordPressのget_header()は、まったく同じものではありません。

今回学んでいるのは、

「共通ファイルを分けて、必要な場所から読み込む」

というPHPの基本的な考え方です。

WordPressでは、その考え方をWordPress専用の関数で扱う場面があります。

これなら、

PHPの基礎

WordPressテーマ

という流れが一本につながって見えてきます。

includeとrequireの違いも少しだけ知っておこう

PHPにはincludeだけでなく、

require

というよく似た仕組みがあります。
どちらも別ファイルを読み込むために使えます。
大きな違いは、

読み込むファイルが見つからなかった場合の扱い

です。

include

ファイルが見つからない場合は警告が発生します。
その後の処理は、状況によって続けられます。

require

必要なファイルを読み込めない場合は、致命的なエラーとなり、その時点で処理を続けられなくなります。

PHP公式マニュアルでも、include はファイルを見つけられない場合に E_WARNINGrequireE_ERROR を発生させる違いが説明されています。

ですが、PHP 4-3では、

「includeとrequireという似た仕組みがある」

と知っておけば十分です。

使い分けを細かく暗記する必要はありません。

include_onceやrequire_onceもある

さらにPHPには、

include_once

require_once

もあります。
名前に付いている、

once

は、一度だけという意味です。
同じファイルを何度も読み込んでしまうことを防ぎたい場合などに使われます。

PHP 4-3では、

include

require

include_once

require_once

を全部使いこなす必要はありません。

まずは include を使って、

「ファイルを分けて読み込める」

という基本を理解しましょう。

ファイルの場所には注意しよう

includeでは、
どのファイルを読み込むのか
を指定します。

たとえば、

header.php

が同じフォルダーにあれば、

include 'header.php';

のように書けます。
ですが、ファイルを別のフォルダーへ移動すると、パスも変わります。
そのため、

「PHPファイルはどこに置かれているのか」

を意識することも大切です。

includeするファイルの場所が間違っていると、PHPはそのファイルを正しく読み込めません。

学習中に、

「includeを書いたのに表示されない」

という場合は、


ファイル名
拡張子
フォルダーの場所指定したパスを
確認してみましょう。

WordPress 7.1でも考え方は無駄にならない

現在のWordPressでは、クラシックテーマだけでなくブロックテーマも使われています。

ブロックテーマでは、テンプレート部分にPHPではなくHTML形式のテンプレートやブロックを使う仕組みが中心です。

そのため、

「WordPressではすべてincludeでPHPファイルを読み込む」

と覚えるのは正しくありません。

ですが、

共通パーツを分けて再利用する

という考え方そのものは、現在のWeb制作でも重要です。

WordPressのブロックテーマでも、ヘッダーやフッターなどをテンプレートパーツとして分けて再利用できます。

PHPのincludeを学ぶ目的は、

昔のWordPressテーマだけを扱えるようになることではありません。


共通部分を分ける

必要な場所から読み込む

同じものを再利用する


というWeb制作の基本的な考え方を身につけることにもつながります。

PHP 4-3で覚えておきたいこと

ここまでを整理します。

PHP 4-3で覚えておきたいこと

include
→ 別のPHPファイルを読み込める

共通パーツを分ける
→ 同じコードを何度も書かなくてよい

1か所を修正する
→ 複数ページへ反映しやすくなる

require
→ includeと似た読み込み方法がある

WordPress
→ get_header()やget_footer()など専用の関数も使われる

全部暗記する必要はありません。

今回もっとも大事なのは、

「共通する部分は別ファイルへ分け、必要な場所から読み込める」

という考え方です。

PHP 4-3のまとめ

今回は、PHPの include を使って別ファイルを読み込む考え方を学びました。

最初は、

「わざわざファイルを分ける必要があるの?」

と思ったかもしれません。

ですが、ページが増えてくるほど、共通部分を分けて管理するメリットが見えてきます。

同じコードを何度も書く

共通部分を見つける

別ファイルへ分ける

includeで読み込む

複数ページで再利用する

PHP 4-3のゴール

PHP 4-2

WordPressテーマでPHPファイルの役割を見た

PHP 4-3

共通パーツを別ファイルにして読み込む理由が分かった

これで、
PHPそのものの学習とWordPressテーマの仕組みが、さらに近づいてきました。
次のPHP 4-4では、新しいPHP文法を学ぶのではなく、

ここまでPHPを学んだあと、次にどこへ進めばよいのか

を整理します。
WordPressをさらに学ぶのか。

Laravelへ進むのか。
自分でPHPツールを作ってみるのか。
PHPシリーズ第4章の最後として、
次の学習ルートを考えていきましょう。

PHPを本でも確認したい方へ【PR】

PR:最初の1冊(必要な方だけ)

PR:PHP学習の最初の参考書として、必要な方だけ見てください。
記事内の内容だけでも進められますが、手元に1冊あると、
PHPの基本文法やフォーム処理をまとめて確認しやすくなります。
※価格や在庫、版数は変わるため、最終確認はリンク先でお願いします。

あわせて読みたい

PHP 4-2|WordPressテーマでPHPが使われる場所を見てみる
PHP 4-2|WordPressテーマでPHPが使われる場所を見てみる
PHP 4-2|WordPressテーマでPHPが使われる場所を見てみる
PHP 4-4|PHP学習の次に進む道|WordPress・Laravel・自作ツールへ
PHP 4-3|PHPのincludeとは?共通パーツを読み込む考え方
PHP 4-3|PHPのincludeとは?共通パーツを読み込む考え方
PHPロードマップ
PHPロードマップ|WordPressにもつながるサーバー側プログラミングの入口
PHPロードマップ|WordPressにもつながるサーバー側プログラミングの入口

PHP 4章の流れ

PHP 4章では、これまで学んだPHPをWordPressにつなげる考え方を学びます。

  • PHP 4-1:PHPとWordPressの関係。テーマやfunctions.phpにつながる考え方
  • PHP 4-2:WordPressテーマでPHPが使われる場所を見てみる
  • PHP 4-3:PHPのinclude。共通パーツを読み込む考え方
  • PHP 4-4:PHP学習の次に進む道。WordPress・Laravel・自作ツールへ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
toshi
toshi
フルスタックエンジニア
C型肝炎や感染症の闘病を経て現在通院中
フリーランスとして今日を生きる、それがすべて。
静かな光の中で、歩みを止めずに生きていく。
実験大好きなので色々とやっていきます。
記事URLをコピーしました