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

Subscribe
Notify of
0 Comments
古い順
新しい順 人気順
Inline Feedbacks
View all comments
ABOUT ME
Sara
Sara
運営者
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィール
>> お問い合わせ
>> 書籍を出版しました!
本格的に学びたい方へ

Code for Fun プログラミング講座

POINT 01

動くコード

プログラミングの文法を学んでも、そこからどのようにアプリ開発ができるのかイメージが湧きにくいものです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなどアプリとして機能するものを作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

受講期限もないので、いつでも前のレッスンに戻ることができるので安心です。

お申し込みしたその日からすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました