PHP

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

 

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 を付けます。
 
 
 

 

ABOUT ME
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
guest

CAPTCHA


0 Comments
Inline Feedbacks
View all comments
0
この記事にコメントするx