検索
ホームページバックエンド開発PHPチュートリアルPHP の include と require の違いの簡単な分析

この記事では、PHP の include ファイル関数と require ファイル関数の違いについて説明します。必要な友人は参照してください。

たとえば、次のコード:

include('hello.php');
echo 'include test final!';//include报错,但是会继续执行,显示:include test final!
require('hello.php');
echo 'require test final!';//require报错,停止代码的执行。

一文の要約:
1.include() は警告を生成します
2.require() は致命的なエラーを引き起こします

言い換えると、ファイルが見つからないときにページの処理を停止したい場合は、ためらわず require() を使用してください。 include() の場合はそうではなく、スクリプトは引き続き実行されます。また、適切な include_path が設定されていることを確認してください。
つまり、必要なファイルは、解析後ではなく、プログラムが再度解析されるときに読み取られます。必要なファイルが読み取れない場合は、次のステップに進むことができません。したがって、ファイルが正しくインクルードされておらず、プログラムがインクルードされる可能性がある場合は、require を使用することをお勧めします。若干効率が良くなるかもしれません。

注: require() はとにかくファイルをインクルードしますが、include() は次のものを選択的にインクルードできます:

<?php
 if(FALSE){
   require(&#39;x.php&#39;);
 }
 if(FALSE){
   include(&#39;s.php&#39;);
 }
?>

上記のコードでは: x.php は必ずインクルードされ、s.php は必ずインクルードされます。含まれないこと。

2 つのメソッドは、さまざまな使用方法の柔軟性を提供します。
require は、require("MyRequireFile.php"); のように使用されます。この関数は通常、PHP プログラムの先頭に配置され、PHP プログラムが実行される前に、まず require で指定されたファイルを読み取り、それを PHP プログラムの Web ページの一部にします。
include は include("MyIncludeFile.php"); などのメソッドを使用します。この機能は通常、フロー制御の処理部に配置されます。 PHP プログラムの Web ページは、インクルード ファイルを読み取るときに、そのファイルを読み取ります。これにより、プログラムの実行処理を簡略化することができる。
1. 使用構文と概要

1. include()
構文: include(/path/to/filename)
include () ステートメントには、呼び出された場所にファイルが含まれます。ファイルを含めると、指定されたファイルのデータがステートメントの場所にコピーされます。
include() を使用する場合は括弧を無視できます。

include() ステートメントは条件に基づいて実行できます。条件文で include() を使用すると奇妙な現象が発生します。条件文は文ブロック中括弧またはその他の文括弧で囲む必要があります。

2. include_once()
構文: include_once(filename)

include_once() ステートメントは、スクリプトの実行中に指定されたファイルをインクルードし、実行します。この動作は include() ステートメントに似ています。唯一の違いは、include_once() が最初にファイルが以前にインクルードされたかどうかを判断することです。インクルードされている場合、このインクルードは無視されます。
include_once() は、関数の再定義や変数の再割り当てなどの問題を回避するために、確実に 1 回だけインクルードされるようにする場合に使用する必要があります。

概要: include_once() 関数は include と同じ機能ですが、最初にファイルがインクルードされているかどうかを確認します。すでにインクルードされている場合、include_once は実行されなくなります。それ以外の場合は、ファイルを含める必要があります。これ以外は include と全く同じです。

3. require()
構文: require(filename)
require() は include とほぼ同じで、どちらもテンプレート ファイルを require 通話着席位置にインクルードします。
require と include の間には 2 つの重要な違いがあります。まず、require の場所に関係なく、require が発生するスクリプトに仕様ファイルがインクルードされます。たとえば、false と評価される if ステートメントに require が置かれている場合でも、指定されたファイルは引き続きインクルードされます。
2 番目の重要な違いは、require が失敗するとスクリプトの実行が停止するのに対し、include の場合はスクリプトの実行が継続されることです。

4. require_once()
構文: require_once(filename)
require_once() ステートメントには、スクリプトの実行中に指定されたファイルが含まれ、実行されます。この動作は require() ステートメントに似ています。唯一の違いは、require_once() が最初にファイルが以前にインクルードされているかどうかを判断することです。インクルードされている場合、このインクルードは無視されます。
require_once() は、関数の再定義や変数の再割り当てなどの問題を回避するために、必ず 1 回だけ含める必要がある場合に使用する必要があります。

概要: Web サイトが大きくなるにつれて、一部のファイルが繰り返し含まれる可能性があります。これは問題ではないかもしれませんが、インクルードされたファイルの変数を変更すると、後で元のファイルが再びインクルードされるため、それらの変数は上書きされ、望ましくない可能性があります。発生する可能性のあるもう 1 つの問題は、インクルードされたファイル内の関数名が競合することです。これらの問題は、require_once を使用して解決できます。
require_once 関数は、ファイルが 1 回だけ含まれることを保証します。 require_once が発生すると、その後同じファイルをインクルードしようとしても無視されます。

2. 違いの概要

1. include() ステートメントと require() ステートメントの違い。
この 2 つの違い: これら 2 つの構造は、障害の処理方法を除いてまったく同じです。
include() は警告を生成し、スクリプトは続行されます。
require() を実行すると致命的なエラーが発生し、スクリプトの実行が停止します。

つまり、ファイルの欠落またはエラーが発生したときにページの処理を停止したい場合は、require() を使用します。エラーが発生したときにページの処理を続行したい場合は、include() を使用します。
PHP 4.3.5 より前では、インクルード ファイルの構文エラーによってプログラムが停止することはありませんでしたが、このバージョン以降は停止することに注意してください。

2. include_once()、require_once() と include()、require() の違い
include_once() は require_once() と同じであり、同じファイルが複数回インクルードされる可能性がある場合に使用する必要があります。この場合、関数の再定義や変数の再割り当てなどの問題を避けるために、スクリプトが 1 回だけ組み込まれるようにする必要があります。これが、include_once() と require_once()、および include() と require() の主な違いです。

3. 注意が必要な問題

1. パスの問題
特にネストされたインクルードの場合、インクルードされるファイルに注意する必要がありますのパス。
たとえば、ファイル A にはファイル B が含まれており、ファイル B にはファイル C が含まれており、ファイル A、B、C は同じフォルダー内にありません。このとき、間違いが発生しやすいです。
解決策: dirname(__FILE__) ステートメントを使用できます。これは、現在のスクリプトの絶対パスを取得することを意味します。例: require_once(dirname(__FILE__).'/config.php');

2. 効率の問題
include_once()、require_once()、および include()、 require() は、少なくとも最初にファイルが含まれているかどうかを判断する必要があるため、効率が低くなります。この問題は PHP5 バージョンでは大幅に改善されましたが、効率にはまだ差があります。

関連する推奨事項:

php での include_once、require_once、および include と require の使用シナリオと違い。

PHP の include と require の違い、phpincluderequire

以上がPHP の include と require の違いの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの現在のステータス:Web開発動向を見てくださいPHPの現在のステータス:Web開発動向を見てくださいApr 13, 2025 am 12:20 AM

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHP対その他の言語:比較PHP対その他の言語:比較Apr 13, 2025 am 12:19 AM

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHP対Python:コア機能と機能PHP対Python:コア機能と機能Apr 13, 2025 am 12:16 AM

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHP:Web開発の重要な言語PHP:Web開発の重要な言語Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHP:多くのウェブサイトの基礎PHP:多くのウェブサイトの基礎Apr 13, 2025 am 12:07 AM

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

誇大広告を超えて:今日のPHPの役割の評価誇大広告を超えて:今日のPHPの役割の評価Apr 12, 2025 am 12:17 AM

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPの弱い参照は何ですか、そしていつ有用ですか?PHPの弱い参照は何ですか、そしていつ有用ですか?Apr 12, 2025 am 12:13 AM

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

PHPで__invoke Magicメソッドを説明してください。PHPで__invoke Magicメソッドを説明してください。Apr 12, 2025 am 12:07 AM

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター