Furudateのブログ

プログラミングやネットワーク系の知識・技術がメインのブログ。技術メモ帳的な感じになるかと。岩手から発信していきます。

【PHP】includeとrequireの使い分け

こんにちは。

PHPを教えているのですが、その際にincludeとrequireについて触れたのでここにも書いておきたいと思います。

外部ファイルを読み込むinclude()とrequire()

PHPで外部ファイルを読み込みたい場合は、include()関数かrequire()関数を使います。

どちらも同じような挙動で使うことが出来るのですが、意味合いは結構違います。

include()について

include()はそのページを任意の場所に差し込みたいときに使います。
コメントリストなどを表示させる処理を別ファイルにしている場合で、その表示内容を指定した場所に差し込みたい場合にinclude()を使います。

require()について

C言語で言うincludeと同じです。
処理を読み込み、利用したい場合に使います。

別ファイルにある関数を呼び出したい場合、require()でそのファイルを呼び出してから使います。

include_once()とrequire_once()

さて、include()やrequire()には、それぞれinclude_once()、require_once()という関数があります。
これは、includeやrequireで読み込んだのが同じファイルな場合、読み込むのを一度のみにするというものです。onceを付けないと、ループ文などでincludeやrequireを実行した場合、そのループ回数分読み込むことになります。

結局何を使うのがいいのか

さて、onceを合わせると読み込みする関数は4つありますが、どれを使うのが良いでしょう?
それはこちらのサイトが参考になりました。

確かに、そのファイルの内容を差し込みたい(表示したい)場合、include_once()で一度しか差し込み(表示)させないのは不自然ですね。
そして、関数を読み込むときにrequire()で何度も読み込む必要はありません。

よって、ファイルの内容を差し込みたいときはinclude()を使い、関数を読み込みたいときはrequire_once()を使うと良いですね!

以上です。
それでは。