ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHP チュートリアルの include include_once require require_once のパフォーマンス比較の詳細な説明

PHP_PHP チュートリアルの include include_once require require_once のパフォーマンス比較の詳細な説明

WBOY
リリース: 2016-07-20 11:10:27
オリジナル
1095 人が閲覧しました

この記事では、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"
$bench = new Benchmark_Iterate; include '存在します。 php';
}
functionload_require(){
require 'exist.php';
functionload_include_once(){
include_once'exist.php'
}
functionload_require_once(){
require_once'; ;
}
$bench->run(50,"load_include");
//$bench->run(50,"load_require");
//$bench->run(50,"load_include_once") );
/ /$bench->run(50,"load_require_once");
$result = $bench->get();


テスト結果
1. include() 関数を使用してファイルをロードした場合の実行時間

PHP_PHP チュートリアルの include include_once require require_once のパフォーマンス比較の詳細な説明
イラスト: include() 関数を使用してファイルをロードした場合の平均実行時間は約 0.0013 秒です

2. include_once() を使用した実行時間。ファイルをロードする関数 時間
PHP_PHP チュートリアルの include include_once require require_once のパフォーマンス比較の詳細な説明
図: include_once() 関数を使用したファイルのロードの平均実行時間は 0.0011 ~ 0.0012 秒

3、require 関数を使用したファイルのロードの実行時間
PHP_PHP チュートリアルの include include_once require require_once のパフォーマンス比較の詳細な説明
図: require() 関数を使用してファイルをロードする平均実行時間は 0.0012 ~ 0.0013 秒です

4、require_once() 関数を使用してファイルをロードする場合の実行時間
PHP_PHP チュートリアルの include include_once require require_once のパフォーマンス比較の詳細な説明
解決策: require_once( ) ファイルをロードする関数は 0.0011 ~ 0.0012 秒です

上記のテスト結果から、ファイルをロードする 4 つの関数の実行時間は基本的に同じであることがわかります。違いは、ファイルが複数回ロードされる場合、 include とrequire 関数は複数回ロードされますが、include_once 関数と require_once 関数は 1 回だけロードされます。ロード失敗を同時に処理するのとは異なり、include() と include_once() は警告を生成しますが、require() と require_once() は致命的なエラーを引き起こします。

関連メモ
include() 関数と require() 関数
これら 2 つの構造は、失敗の処理方法を除いてまったく同じです。 include() は警告を生成し、require() は致命的なエラーを引き起こします。つまり、ファイルが見つからない場合にページの処理を停止したい場合は、require() を使用します。 include() の場合はそうではなく、スクリプトは引き続き実行されます。また、適切な include_path が設定されていることを確認してください。 PHP 4.3.5 より前では、インクルード ファイル内の構文エラーによってプログラムが停止することはありませんでしたが、このバージョン以降は停止することに注意してください。

インクルード ファイルを検索する順序は、まず現在の作業ディレクトリを基準とした include_path の下で検索し、次に現在実行中のスクリプトが配置されているディレクトリを基準とした include_path の下を検索します。たとえば、include_path は .、現在の作業ディレクトリは /www/ で、スクリプトには include/a.php を含める必要があり、ファイル内に include "b.php" が存在し、次に b を検索する順序になります。 php は最初に /www/ で、次に /www/include/ です。ファイル名が ./ または ../ で始まる場合、現在の作業ディレクトリを基準とした include_path の下でのみ検索されます。

ファイルがインクルードされると、そのファイルに含まれるコードはインクルード行の変数スコープを継承します。その時点から、呼び出し側ファイルのその行で使用可能な変数は、呼び出されたファイルでも使用できるようになります。ただし、インクルード ファイルで定義されたすべての関数とクラスにはグローバル スコープがあります。

include_once() および require_once() 関数
include_once() および require_once() ステートメントは、スクリプトの実行中に指定されたファイルをインクルードし、実行します。この動作は include() および require() ステートメントに似ていますが、唯一の違いは、ファイル内のコードが既にインクルードされている場合、再度インクルードされないことです。このステートメントの名前が示すように、このステートメントは 1 回だけ含まれます。 include_once() と require_once() は、スクリプトの実行中に同じファイルが複数回インクルードされる可能性があり、関数の再定義や変数の再割り当てなどの問題を避けるために、ファイルが 1 回だけインクルードされるようにしたい場合に使用する必要があります。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444722.html技術記事この記事では、PHP の include と include_once と require と require_once のパフォーマンス図を写真とテキストを使って詳しく紹介しています。必要な方は詳細をご覧いただけますが、一般的に言えば、include_once と...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート