含む
PHP では、include と require の関数は混同されやすいです。以下では、古典的な例を使用して、それらの違いを詳しく説明します。
データベースに頻繁にアクセスする場合は、接続ステートメントをファイルに書き込むことができます
con_db.php3
$dbh = mysql_connect('localhost','',''); mysql_select_db('admreqs'); ;
?>
実際のアプリケーションでは、プログラム内でこのファイルを呼び出すことができます。
require("con_db.php3") や include("con_db.php3) など
このとき、2 つの関数の効果はほぼ同じです。
ただし、
filename.php3
を使用すると、 require("con_db .php3")
function myfun($par1,$par2)
{データベース処理用のステートメントが含まれています}
....
myfun($par1,$par2);
....
myfun($ p1 ,$p2);
?>
$dbh が関数に渡されない限り、関数内で外部変数を取得できないため (include にも同じことが当てはまります)、ファイルは myfun で実行を続けることができません。これにより、関数の複雑さが増します。
この問題は、関数内に require または include を入れることで解決できます。
include を使用すると、ファイルの最初の関数呼び出しはスムーズに実行されます。データベースを閉じずに一度開くことはできません。つまり、con_db.php3 を require に置き換えると、すべてが正常になります。つまり、require は事前スキャンと同じです。プログラムがいつ実行されるかに関係なく、require ファイルが最初に実行され、それは 1 回だけ実行されます。ただし、include は実行されるたびにそのファイルを呼び出します。次回もここで実行されます。
したがって、ループ内で特定のステートメントを 1 回だけ実行したい場合は、それらを require
で含めることができます。