本記事では、requireとincludeの違いと使い分けについて解説しています。
PHPの学習におすすめ書籍
独習PHP 第4版

メリット
- PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
- PHPによるWebアプリ開発の基礎・基本テクニックを学べる


Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!



初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード


メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)


目次
requireとincludeの違い
requireとincludeは外部ファイルを読み込む時に使いますが、全く同じような書き方をしますよね?
どちらも同じであれば、好きな方を使っても大丈夫?と思いますが、実はrequireとincludeには重要な違いがあります。それは存在しない外部ファイルを読み込んだ時に表れます。
まずは存在しない外部ファイルを読み込んだ時のincludeの挙動を確認してみましょう。
<?php
include('fn1.php');
echo 'ファイル読み込み後に表示';
?>


外部ファイルが存在しない場合も、後続処理のechoで「ファイル読み込み後に表示」の文字が表示されます。
続いて、requireで存在しない外部ファイルを読み込んだ時の挙動を確認してみましょう。
<?php
require('fn1.php');
echo 'ファイル読み込み後に表示';
?>


HTTP ERROR 500が返ってきます。このようにrequireで存在しない外部ファイルを読み込むとそこで処理がストップしてしまい、後続処理が実行されません。
requireとincludeの使い分け
requireとincludeの使い分ける基準は明確にはありません。
ですが、確実に読み込む必要がある重要なファイルを読み込ませる場合は「require」、そうでない画面処理などは「include」で読み込むなど使い分けると良いです。