require文とinclude文

 本格的なWebアプリケーションを作る場合、全ての処理を1つのファイルにまとめるのは非効率的です。PHPでは、require文やinclude文を使って、別ファイルにまとめたプログラム処理を読み込む事ができます。この事は、開発の効率やメンテナンス性を向上させる事が出来る点で非常に有用です。

 require( )とinclude( )との違いは、require( )が処理中に1回だけ読み込まれると言う点です。ですから、ループの中で読み込むファイル名を変える時などは、include( )で処理します。又、require( )やinclude( )はローカルにあるファイルだけでなく、リモートにあるファイルもURLを使って読み込む事が出来ます。

require文

 require( )で、ローカルにあるファイルとリモートにあるファイルとを読み込むプログラム例を、以下に示します。

<?php
print "これは、require( )を使ったプログラム例です。<BR>";
require ("test1.php3");
require ("http://www.komonet.ne.jp/test2.php3");
?>

 この実行結果は、まず「これは、require( )を使ったプログラム例です。」と言う文字列が表示され、改行した後、test1.php3のファイルの内容が処理・実行されます。そして次に、URLで指定した「http://www.komonet.ne.jp/test2.php3」のファイルの内容が処理・実行されます。

include文

 include( )は、require( )と違い、ループ処理の中で異なるファイルを複数読み込む事が出来ます。require( )は最初の1回だけ評価されますが、include( )は毎回評価されます。例えば、以下の配列を使ったプログラム例では、include( )をrequire( )に置き換えた場合、間違った動作をします。

$mem = array ('one.htm', 'two.htm', 'three.htm');
for ($i=0; $i<count($mem); $i++) {
  include $mem[$i];
}

 PHP3及びPHP4では共に、include( )されたファイル内でファイルの実行処理を終了し、呼び出し側のスクリプトに戻る為に、return文を実行する事が出来ます。しかし、この動作にはいくつかの違いがあります。まず、PHP3では関数ブロック以外のブロックでreturn文を使う事は出来ません。PHP3では、Returnが適用出来るのは関数であり、ファイル全体には適用出来ません。しかし、PHP4ではこの制限はありません。又、PHP4ではinclude( )されたファイルから値を返す事が可能です。通常の関数と同様にinclude( )コールの値を取得出来ます。一方、PHP3ではパース時にエラーとなります。

制御文 前へ

HOME

次へ ユーザ定義関数