web-dev-qa-db-ja.com

include、include_once、requireまたはrequire_once?

PHPファイルがあり、ここでサーバーアクセス変数と_mysql_connect_および_mysql_select_db_を定義しています。この関数はバックエンドのほぼすべてのページで定期的に使用されているため、私が現在完全に機能しているinclude()を使用しているときに、どのメソッドまたは関数を提案しますか?include()を使用する場合に問題があるかどうかを知りたいですか、それとも安全に使用できますか?

編集:_$_SESSION_変数も使用することを覚えておいてください。

34

2つの違いは、ファイルが見つからない場合、requireとその姉妹のrequire_onceが致命的なエラーをスローすることですが、includeinclude_onceは警告のみを表示します。ページの残りの部分を読み込み続けます。 PHPでデータベース情報なしにページの残りの部分を読み込もうとしない場合)、require_onceを使用します。ファイルを複数回インクルードするため、通常のrequire関数を使用する必要はありません。

51
Sasha Chedygov

機能的な作業:すべての機能が同様の作業を実行します。すべての関数は、コードの実行中に特定のファイルを含めて評価します。

機能の違い:

includeとinclude_once:include()とinclude_once()の違いは1つだけです。ファイルからのコードがすでにインクルードされている場合、include_once()を使用しても、再度インクルードされることはありません。 include_once()は、一度に1回だけファイルをインクルードします。

include vs require:include()がその場所で指定されたファイルを見つけることができない場合、警告をスローしますが、停止しませんスクリプトの実行。同じシナリオで、require()は致命的なエラーをスローし、スクリプトの実行を停止します。

require vs require_once:require()とrequire_once()の違いは1つだけです。ファイルのコードがすでに含まれている場合、require_once()を使用しても、そのコードは再度含まれません。 require_once()は一度に一度だけファイルをインクルードします。

例で詳細な知識を得るには、これらの驚くべき記事を確認してください
(1) http://www.readmyviews.com/include-vs-include-once/
(2) http://www.readmyviews.com/include-vs-require/

31
ReadMyViews Com

データベース接続変数については、require_once()関数の使用が推奨されます。何らかの理由で接続が失敗した場合は、失敗のメッセージを表示できます。

2
Ashay

DB接続なしでページが機能しない場合、require_onceが唯一の正しいオプションになります(これらの設定を2回ロードしたくないので、1回ロードするだけで十分です)。インクルードは、設定ファイルが利用できない場合でもページをロードしようとします。

1
wimvds

インクルードinclude()ステートメントは、指定されたファイルをインクルードして評価します。

1度インクルードinclude_once()ステートメントは、スクリプトの実行中に指定されたファイルをインクルードおよび評価します。これはinclude()ステートメントと同様の動作ですが、唯一の違いは、ファイルからのコードがすでにインクルードされている場合、再度インクルードされることはありません。名前が示すように、一度だけ含まれます。

Require require()とinclude()は、失敗の処理方法を除いて、すべて同じです。どちらも警告を生成しますが、require()は致命的なエラーになります。つまり、不足しているファイルでページの処理を停止したい場合は、require()を使用してください。

一度だけrequire require_once()ステートメントは、スクリプトの実行中に指定されたファイルを含めて評価します。これはrequire()ステートメントと同様の動作ですが、唯一の違いは、ファイルからのコードがすでに含まれている場合、再度含まれることはないということです。

0
Affan
<?php

include('db.php');   

echo "<br>"."Included"."<br>";

include_once('db.php');

echo "<br>"."Again included"."<br>";

?>

上記のコードでは、上部のincludeステートメントを使用してファイルをインクルードしましたが、ファイルはインクルードされます。

次に、include_onceを使用して同じファイルをインクルードしましたが、そのファイルはすでに上にインクルードされているので、ここには再びインクルードされません。

出力:

Connected             -----This is from db.php File
Included

Again included

==========================

include_once('db.php');

echo "<br>"."Again included"."<br>";

include('db.php');

echo "<br>"."Included"."<br>";

?>

上記のコードでは、最初にinclude_onceを使用しているため、ファイルが含まれていますが、次のコードでは、同じファイルにinclude_onceを再度使用しているため、再びファイルが含まれ、出力は

出力:

Again included
Connected
Included
Connected
0