参考サイト
◎include文とrequire文の違い
「ファイル読み込み失敗したときにエラーで終了するか警告で継続するか」という点。
どちらも対象ファイルを読み込みますが、この時ファイルが存在しない、関数で構文エラーなどが起こった場合、それぞれ以下のような挙動となります。
- require:致命的なエラー(Fatal)となり処理を停止
- include:警告(Warning)となり処理は継続
◎includeとrequire 使い分けの判断基準
どちらが良いかは、実装する内容によって適切な対応が異なると思います。以下に使い分けの例を挙げてみます。
例:コア部分や後の処理に影響する場合はrequire
例えば、バッチ処理など致命傷なエラーにより後続処理の影響が発生する場合には、処理を中断させたいのでrequireを使用します。
例:画面処理などの場合はinclude
画面表示などで表示処理のための計算処理でエラーとなるような場合は、requireだと画面が全く表示されなくなるのを避けるためにincludeを使用するなどの使い分けが考えられます。
実際のプロジェクトに合わせ、それぞれの特性を理解し異常終了させるべき、継続して処理を進めるべきなのか、プログラム全体を鳥瞰しながら見極めていくことが重要となります。