PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのinclude()・require()・include_once()・require_once()の違いを徹底解説

PHPには、外部ファイルを読み込むための便利な関数が用意されています。その代表的なものが include()require()include_once()require_once() の4つです。これらはいずれもPHPページに別のファイルを組み込むために使われますが、エラー発生時の挙動や読み込みの重複チェックなど、機能面で微妙な違いがあります。

本記事では、それぞれの関数の特徴と使い分けのポイントを詳しく解説します。

include() 関数とは

include() は、指定したファイルをPHPページに読み込むための関数です。最大の特徴は、指定されたファイルが見つからなかった場合でも「警告(Warning)」を出力するだけで、スクリプトの実行は続行されるという点です。

そのため、ファイルが存在しなくても処理を止めたくない場合(例:任意のパーツや広告表示など)に適しています。

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

require() 関数とは

require() も同様にファイルを読み込みますが、指定したファイルが見つからなかった場合には「致命的なエラー(Fatal Error)」を発生させ、スクリプトの実行を即座に停止します。

設定ファイルやデータベース接続ファイルなど、プログラムの動作に必須となるファイルを読み込む際に使用するのが一般的です。

<?php
require 'config.php';
?>

include_once() 関数とは

include_once() は、同一ファイルを1回だけ読み込むための関数です。すでに同じファイルが読み込まれている場合は、二度読み込みを行いません。これにより、関数の再定義によるエラーなどを防ぐことができます。

ファイルが見つからない場合の挙動は include() と同じで、警告を出力するだけでスクリプトの実行は継続されます。

require_once() 関数とは

require_once() は、「1回だけ読み込む」という include_once() の特性と、「ファイルがない場合は致命的エラーで停止する」という require() の特性を兼ね備えた関数です。

クラス定義ファイルや共通ライブラリなど、確実に存在していて、かつ重複して読み込まれては困るファイルの読み込みに最適です。

<?php
require_once 'Database.php';
?>

4つの関数の違いまとめ

関数名読み込み回数ファイル未検出時の挙動
include()毎回読み込む警告を出力し、実行は継続
require()毎回読み込む致命的エラーで実行を停止
include_once()1回のみ警告を出力し、実行は継続
require_once()1回のみ致命的エラーで実行を停止

まとめ

この記事では、PHPにおけるファイル読み込み関数である include()require()include_once()require_once() の違いについて解説しました。ポイントは以下の2点です。

  • エラー時に処理を続けたいなら「include」系、必須ファイルなら「require」系を使う
  • 重複読み込みを防ぎたいなら「_once」付きの関数を選ぶ

用途に応じてこれらの関数を正しく使い分けることで、より安全で保守性の高いPHPアプリケーションを構築できます。

  1. 【C言語】putw()関数とgetw()関数の使い方をわかりやすく解説

    ファイルとは、レコードの集合体であり、データを永続的に保存しておくためのハードディスク上の場所のことです。C言語ではファイルを利用することで、プログラムの実行が終了しても失われないデータを扱えます。ファイルに対する主な操作C言語におけるファイル操作は、基本的に以下の手順で行います。ファイル名を指定する(命名)ファイルを開くファイルから読み込むファイルに書き込むファイルを閉じる基本構文まず、ファイルを扱うためのファイルポインタを宣言します。FILE *ファイルポインタ;宣言例:FILE *fptr;続いて、fopen()関数を使ってファイルを開きます。ファイルポインタ = fopen(ファイル名

  2. 【C言語】putc関数とgetc関数を使ってファイルに1文字ずつ書き込み・読み込みする方法

    ファイルとは ファイル(File)とは、レコードの集まりを指し、ハードディスク上にデータを恒久的に保存しておくための場所のことです。プログラムが終了してもデータが失われないよう、永続的な保存が必要な場合にファイルが利用されます。 ファイルに対する主な操作 C言語におけるファイル操作は、基本的に以下の手順で行います。 ファイル名を指定する ファイルを開く ファイルから読み込む ファイルへ書き込む ファイルを閉じる 基本構文 まず、ファイルを扱うためのファイルポインタを宣言します。 FILE *ファイルポインタ; 宣言の例: FILE *fptr; 次に、fopen関数を使ってファイルを開きま