My Photo

« CakePHPのインストール | Main | TortoiseGitのインストールとリポジトリの作成 »

June 19, 2015

PHPメモ051:includeとrequireの使い分け

関連記事:
PHPメモ008:include,require

今更PHPの初歩の初歩みたいな話だが、include, include_once と require, require_once ってどう使い分けるのかがわからない。 どちらもファイルを読み込んで評価する命令だ。違いはわかっている。

  • include はファイルの読み込みに失敗すると warning を発行し、処理は続行する。
  • require はファイルの読み込みに失敗すると fatal error を発行し、処理は停止する。

で、具体的にどういうときに include でどういうときに require なのか?というか inclulde の使いどころが?だ。
必要なファイルが何らかの理由(ファイルがない、ファイルを読む権限がない、etc...)で読み込めませんでした、でも処理は続行というケースがあるだろうか。ファイルを読めなかったらもうその先を実行しても意味がない場合がほとんどのような気がする。
で、ググって調べて、なんとなくわかってきた。以下のような使い分けで良さそうだ。

  • include はビューを読み込むのに使う。
  • require はロジックを読み込むのに使う。

ファイルの読み込みに失敗しても処理を続行しても構わないというのは、例えばページをヘッダ、コンテンツ、フッタに分割して、それぞれファイルを読み込んで表示する場合。
ヘッダの読み込みを失敗したとしても、コンテンツとフッタが読み込めるならそれはそれで読み込んで表示した方がいいよね、ってことだ。
こういう場合に include を使うのがよいと。

一方、require は処理に必要なライブラリを読み込むのに使う。
もしライブラリが読み込めなかったら、それ以降の処理をやろうとしても、クラスや関数がないためにエラーになるだろう。だから読み込み失敗の時点で fatal error にしちゃっていい。

自社のサービスのソースコードを見ると、ライブラリの読み込みに include、include_once を使ってる方が requrie、require_once を使ってるより多い。うーん。。。

参考ページ:
PHP: include - Manual
PHP: require - Manual
【PHP】includeとrequireの使い分け - Furudateのブログ
【PHP】include, requireの違いと使い分け | web codery

« CakePHPのインストール | Main | TortoiseGitのインストールとリポジトリの作成 »

PHP」カテゴリの記事

Comments

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference PHPメモ051:includeとrequireの使い分け:

« CakePHPのインストール | Main | TortoiseGitのインストールとリポジトリの作成 »

June 2021
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof