Skip to main content
  1. Posts/

PHPのuse, require, includeの違い

PHP

phpを触り始めて3年目。おそらく初めてrequire_onceを使った。これまでLaravelばかり使っていたので、あまり意識してこなかった部分だった。ここで、インポート系シンタックスをまとめておこうと思う。

インポート系シンタックス #

他にもあったかもしれないけど、ひとまずこれを。

  • requireとrequire_once
  • includeとinclude_once
  • use

requireとrequire_once #

requireは指定したファイルを読み込む。もしファイルを読み込めなかった場合は、Fatal Errorを発生する。require_onceを使用すると、既に読み込まれている場合は再読込みを行わない。再読込みが行われて、変数などが再定義されると困る場合は、require_onceを使う。

includeとinclude_once #

includeは、指定したファイルを読み込むという点では、requireと同じ。ファイルが読み込めなかった場合は、警告を出すのみで、処理は継続する。include_onceを使用すると、既に読み込まれている場合は再読込みを行わない。用途はrequire_onceと同じ。

use #

useは、指定した名前空間のクラスを参照できるようにする。参照したいクラスのnamespaceとクラス名を指定する。requireやincludeはファイルを指定するのに対して、useはクラス名、名前空間名を指定する。このあたりについては、別途勉強することにする。名前空間のサポートは、php 5.3から始まったらしい。

もはやphpは7なのだが……勉強がまだ足りない。