PHP

【PHP】require / include / require_once / include_once 関数の違い

Sara

PHP のファイルを読み込む関数は

  • require
  • require_once
  • include
  • include_once

の4種類があります。

この記事ではそれぞれの違いを紹介していきます。

使用するファイル

ここでは sample フォルダに

  • index.php
  • hello.php

という2つのファイルを用意しています。

index.php
<!DOCTYPE html>
<html>
<head>
    <title>TEST</title>
</head>
<body>
<p>--------------------------------</p>
<?php /* ここにコードを書きます。 */ ?>
<p>--------------------------------</p>
</body>
</html>
hello.php
<h1>こんにちは</h1>

once がある・ないの違い

once(ワンス)は英語で「一度、一回」という意味なので、ファイルの読み込みを一度だけ行う場合に使います。 

require_once 関数を使って、index.php で hello.php を読み込んでみます。

ブラウザで index.php を開くと「こんにちは」と表示されます。

同じコードを2回書いてみましょう。

ブラウザで確認してみると、hello.php は一度しか読み込まれていません。

次に require_once を require に変更してみます。

今度は hello.php が2回読み込まれています。

このようにファイルの読み込みを1度だけ行うのが require_once / include_once 関数です。

require と include の違い

require と include の違いは、ファイルの読み込みに失敗した場合に「処理を続けるか・止めるか」です。

間違ったパスのファイルを require_once 関数で読み込んでみます。

ブラウザを開くと Fatal error(致命的なエラー)が出てしまい、require_once 以降のコードが実行されません。

今度は include_once 関数を使って、間違ったパスのファイルを読み込んでみます。

Warning(警告)は出ていますが、その後の HTML は表示されています。

このようにファイルの読み込みに失敗したときに

  • 処理を中断するのが require / require_once
  • 処理を続けるのが include / include_once

です。

まとめ

ファイルの読み込みに失敗したときに

  • 処理をストップする場合は require
  • 処理を続ける場合は include

を使います。

ファイルの読み込みを一度だけ行う場合は _once を付けます。

guest
0 Comments
Inline Feedbacks
View all comments
ABOUT ME
Sara
Sara
運営者
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
0
この記事にコメントするx
記事URLをコピーしました