目次
includeとrequireの違いのまとめ
ファイルがないとき | 用途 | 使われ方 | |
---|---|---|---|
include | Warning (警告) を出してスクリプトは 処理を続行 | 任意のファイル読み込み(読み込めなくても処理を続けたいとき) | 任意ファイルのとき |
require | Fatal error (致命的エラー) を出して スクリプトが即終了 | 絶対必要なファイル(なければ実行不能な処理) | 必須ファイル |
どちらも実行時に指定したファイルを読み込んで実行する機能です。
エラー発生時の挙動が異なります。
include_onceとrequire_onceは、
すでに読み込まれているファイルは再度読み込みません(多重定義防止)。
includeで外部ファイルを読み込む
以下は、test1.phpがtest2.phpファイルをincludeで読み込むサンプルです。
test1.php
<?php
include "test2.php";
print "文字を表示"; //文字を表示
test2.php
<?php
$name = 'suzuki';
print($name . "です"); //suzukiです
文字列が出力されます。
test1.phpの3行目のtest2.phpが存在しない場合、結果は以下になります。
warningになりますが後続の処理は続きます。
include_onceの場合
include_onceは、1度読み込んだファイルは、再度読み込みません。
ファイルがない場合は、includeと同じくwarningになります。
requireで外部ファイルを読み込む
以下は、test1.phpがtest2.phpファイルをrequireで読み込むサンプルです。
test1.php
<?php
require "test2.php";
print "文字を表示"; //文字を表示
test2.php
<?php
$name = 'suzuki';
print($name . "です"); //suzukiです
文字列が出力されます。
test1.phpの3行目のtest2.phpが存在しない場合、結果は以下になります。
指定の外部ファイルがないためFatal errorになり、後続の処理はストップします。printでの文字出力はされていません。
require_onceの場合
require_onceは、1度読み込んだファイルは、再度読み込みません。
ファイルがない場合は、requireと同じくFatal errorになりスクリプトは終了します。
関連の記事