ホームページ  >  記事  >  バックエンド開発  >  example_PHP チュートリアルによる require と include の使用法の詳細な分析

example_PHP チュートリアルによる require と include の使用法の詳細な分析

WBOY
WBOYオリジナル
2016-07-13 17:35:591080ブラウズ

PHP では、include と require の関数は混同されやすいです。以下では、古典的な例を使用して、それらの違いを詳しく説明します。

データベースに頻繁にアクセスする場合は、データベース接続ステートメントをファイルに書き込むことができます

con_db.php

$dbh = mysql_connect(localhost,,);
mysql_select_db(admreqs);
?>

実際のアプリケーションでは、プログラム内でこのファイルを呼び出すことができます。

require("con_db.php") や include("con_db.php) など

現時点では、2つの機能の効果はほぼ同じです。

しかし、このように使用すると

ファイル名.php

require("con_db.php")
function myfun($par1,$par2)
{データベース処理用のステートメントが含まれています}
....
myfun($par1,$par2);
.. ...
myfun($p1,$p2);
?>

関数内で外部変数を取得できないため、ファイルがmyfunに到達すると実行を継続できなくなります(includeの場合も同様)。 $dbh が変数として関数に渡される場合を除きます。これにより、関数の呼び出しが複雑になります。

この問題は関数内にrequireやincludeを入れることで解決できます。

include を使用すると、ファイルの最初の関数呼び出しはスムーズに通過しますが、2 番目の呼び出しは実行されません。これは、データベースを一度閉じないと開くことができないためです。つまり、con_db.php が 2 回実行されます。 。 include を require に置き換えれば、すべて問題ありません。

つまり、requireはプリスキャンに似ていて、プログラムが実行されるとき、関数の内側か外側かに関係なく、requireファイルが最初に一度だけ実行されます。そして、 include は実行されるたびにファイルを呼び出します。つまり、この実行後、次にこの時点まで実行されるときに、再度実行されます。

したがって、ループ内で 1 回だけ実行したい特定のステートメントがある場合は、それらを require で含めることができます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/508257.html技術記事 PHP では、include と require の関数は混同されやすいです。以下では、古典的な例を使用して、それらの違いを詳しく説明します。 データベースに頻繁にアクセスする場合は、Liankuyu を使用できます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。