TOKYOからOKINAWAに移住したHOMME

20代後半で思い立ったように東京から沖縄に移住したヤローの徒然+プログラム関連作業用メモ

作業用メモ:PHPのrequire文とinclude文

作業用メモ

 require文やinclude文などは、別ファイルにまとめた関数やファイル、プログラムを読み込む時に使用します。 よく使う関数は別ファイルに用意しておき、複数ページで共通に利用できるようにしておけば、 同じ関数を何度もコードに書くよりは、はるかに手間が省け、開発の効率やメンテナンスの点で非常に有効です。

【1】require文

require文は、スクリプトの実行に先立ち、指定したファイルの内容に置き換えられます。 ループ処理の中に置いて、毎回異なるファイルを読み込むことはできません。

■読み込む対照のファイル「city.php

<?php
define( "city", "TOKYO" );
?>


■require()関数で「city.php」を読み込み

<?php
require( "city.php" );
echo city;
?>

 

 

【2】include文

include文は、スクリプトの実行に先立ち、指定したファイルの内容に置き換えられます。 ループ処理の中にinclude文を置いて、毎回異なるファイルを読み込むことができます。

■読み込む対照のファイル1「city1.php

<?php
$city1 = "TOKYO";
?>


■読み込む対照のファイル2「city2.php

<?php
$city2 = "OSAKA";
?>


■読み込む対照のファイル3「city3.php

<?php
$city3 = "FUKUOKA";
?>


■include()関数で「city1.php」「city2.php」「city3.php」を読み込み

<?php
for( $i=1 ; $i<=3 ; $i++ ) {
 include( "city" . $i . ".php" );
}

echo $city1;
echo $city2;
echo $city3;
?>

 

【3】require_once文

require_once文は、require()関数と同様に、スクリプト内で別ファイルを読み込むことができます。 require()関数と異なる点は、require()関数は外部ファイルを取り込む回数に制限がないのに対して、 require_once()関数は外部ファイルを1回だけ取り込みます。

【4】include_once文

include_once文は、include()関数と同様に、スクリプト内で別ファイルを読み込むことができます。 include_once()関数も、require()関数とrequire_once()関数との違いと同様に、 include_once()関数は外部ファイルを1回だけ取り込みます。

【5】require文とinclude文の違い

require()とinclude()は、ループとエラーの扱い方を除けば、その動作は全く同じです。
require文は、ループ処理の中に置いて、毎回異なるファイルを読み込むことはできませんが、include文は可能です。
またエラーについて、require()は「Fatal Error」となり処理を停止しますが、 include()は「Warning」を出力しながら、読み込むべきファイルが存在しない場合も処理を続行します。
両者の違いをしっかり把握したうえで、機能に沿った方を使いましょう。

require文とinclude文の違い require文 include文
ループ処理での利用 不可能 可能
エラー処理 停止 続行