この記事では、PHP の include と include_once および require と require_once のパフォーマンス図を写真とテキストを使用して詳しく紹介しています。必要な方は詳細をご覧ください。一般的に、特に次の場合、 include_once と require_once のパフォーマンスがはるかに優れています。複数回呼び出されます。
PHP パフォーマンス最適化問題 8 関数、include() と include_once()、require() と require_once() のパフォーマンスの比較は、主にこれら 4 つの関数の実行時間を取得することでパフォーマンスの違いを比較することです。実験では Benchmark_Iterate タイプのツールを使用します。 。
テスト方法
既存のファイルexist.phpをロードし、Benchmark_Iterateクラスを通じて50回呼び出し、各関数の実行時間を取得し、曲線グラフを生成します。
テストコード
コードは次のとおりです | コードをコピーします |
require_once "Benchmark/Iterate.php" テスト結果
2. include_once() を使用した実行時間。ファイルをロードする関数 時間 3、require 関数を使用したファイルのロードの実行時間 4、require_once() 関数を使用してファイルをロードする場合の実行時間 上記のテスト結果から、ファイルをロードする 4 つの関数の実行時間は基本的に同じであることがわかります。違いは、ファイルが複数回ロードされる場合、 include とrequire 関数は複数回ロードされますが、include_once 関数と require_once 関数は 1 回だけロードされます。ロード失敗を同時に処理するのとは異なり、include() と include_once() は警告を生成しますが、require() と require_once() は致命的なエラーを引き起こします。 関連メモ インクルード ファイルを検索する順序は、まず現在の作業ディレクトリを基準とした include_path の下で検索し、次に現在実行中のスクリプトが配置されているディレクトリを基準とした include_path の下を検索します。たとえば、include_path は .、現在の作業ディレクトリは /www/ で、スクリプトには include/a.php を含める必要があり、ファイル内に include "b.php" が存在し、次に b を検索する順序になります。 php は最初に /www/ で、次に /www/include/ です。ファイル名が ./ または ../ で始まる場合、現在の作業ディレクトリを基準とした include_path の下でのみ検索されます。 ファイルがインクルードされると、そのファイルに含まれるコードはインクルード行の変数スコープを継承します。その時点から、呼び出し側ファイルのその行で使用可能な変数は、呼び出されたファイルでも使用できるようになります。ただし、インクルード ファイルで定義されたすべての関数とクラスにはグローバル スコープがあります。 include_once() および require_once() 関数 |