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

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

Code for Fun プログラミング講座では、プログラミングの基礎からアプリ開発まで学ぶことができます。

わかりやすく・シンプルをモットーに

  • 同じコードを書けば必ず完成できること
  • 専門用語を使いすぎないこと

を重視しています。

POINT 01

動くコード

プログラミングの文法だけを学んでも、そこから動くアプリを開発をするのは難しいです。

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

POINT 02

自分のペースで

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

分からないことがあっても、前のレッスンに戻ることができるので安心です。

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

POINT 03

個別サポート

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

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

今すぐ無料でお試し

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