PHPでライブラリや他のPHPファイルを読み込みのに使うinclude文とinclude_once文について説明します。
requireとincludeの違いや、require文の使い方は以下を参照してください。
参照:PHPのinclude文とrequire文の違い
参照:PHPでrequire, require_onceを使いファイルを読み込む
include文の使い方
1 2 |
include "ファイルパス"; include("ファイルパス"); |
includeは上記のように2通りの書き方ができます。読み込まれたファイルがHTMLならHTMLが出力され、PHPスクリプトならそのスクリプトが実行されます。
パスの指定
ファイルパスは、絶対パスと相対パスどちらでも指定できますが、なるべく相対パスを避けて dirname(__FILE__)などを使うようにしましょう。
以下は、sample.phpからinclude.phpを読み込むサンプルコードです。
サンプルコード(sample.php)
1 |
include dirname(__FILE__) . '/sample2.php'; |
次のコードはinclude.phpというファイル名で、sample.phpと同じディレクトリに保存してください。
サンプルコード(include.php)
1 |
echo 'This is include.php'; |
実行結果
1 |
This is include.php |
include.phpのechoが実行され「This is include.php」と表示されます。
include_once文の使い方
1 2 |
include_once "ファイルパス"; include_once("ファイルパス"); |
include_once文とinclude文の違いは、同じファイルが再度読み込まれようとした場合の処理にあります。
include文の場合は、以下のようにFatalエラーとなりますが、include_once文の場合はエラーとなりません。
1 |
Fatal error: Cannot redeclare class SampleClass in /path/to/include.php on line 2 |
require文との違い
require文との違いは、ファイルが存在しない場合などのエラーにあります。require文の場合は、Fatalエラーとなり後続の処理がストップされますが、include文の場合はWarningエラーとなり処理は継続されます。