php include_PHP チュートリアルでファイルをロードする 2 つの方法の効率の比較

WBOY
リリース: 2016-07-21 15:35:13
オリジナル
1276 人が閲覧しました

まず 2 つの方法について説明します:
1) ロードするファイルのリストを保存する文字列変数を定義します。次に foreach をロードします。

コードをコピーします コードは次のとおりです:
$a = '/a.class.php;/Util/b.class.php;/Util/c.class.php'; $b = ' /d.php;/e.class.php;/f.class.php;/g.class.php';
// 基本的なシステム ファイルをロードします
$kernel_require_files =explode(';', $a );// SYS_REQUIRE_LIB_FILE_LIST);
foreach($kernel_require_files as $f){
require_once(SYS_LIB_PATH.'/System'.$f);
}

// 基本的なシステム ファイルをロードします
$kernel_require_files =explode(';' , $b) ;//SYS_BASE_FILE_LIST);
foreach($kernel_require_files as $f){
require_once(KERNEL_PATH.$f);



2) インクルード ファイルにロードするすべてのファイルをロードします。現在のページ このインクルード ファイルを直接インクルードします。

include.php ファイルの内容

コードをコピー
コードは次のとおりです。 require_once('LangManager.class.php');
require_once('_Kernel)オートローダー.class.php');
require_once('ApplicationSettingManager.class.php');
require_once('lib/System/Util/CXML.class. php') ;
require_once('lib/System/Util/CWeb.class.php');


個人的には、foreach などの冗長な操作がないため、すべてを実証する必要があると思います。想像もしていなかったので、検証してみました。以下は、2 つのメソッドを使用してランダムに 10 回ロードするのにかかる時間です:
foreach
0.017754077911377
0.017686128616333
0.017347097396851
0.018272161483765 8272 161483765
0.018401145935059
0.018187046051025
0.020787000656128
0.017963171005249


include_once('include.php') ;
0.025792121887207
0.024733066558838
0.025041103363037
0.024915933609009
0.024657011032104
0.02 41341590 88135
0.025845050811768
0.024954080581665
0.024757146835327
0.02684497833252

また、すべてのファイルを直接ロードしました現在のページ
0.0222 85938262939
0.024394035339355
0.023194074630737
0.023229122161865
0.024644136428833
0.023538112640381
0.024240016937256
0.025094032287598
0.023231029510498
0.02339506149292
その結果には驚きました!最も遅いと思われる最初の方法が最も時間がかからず、現在のページに複数のファイルを直接ロードすると時間がかかることがわかりました~
その理由は?わかりません。明確な答えが得られることを願っています。「プラン X」のコアの読み込み部分は無視して、最初の方法を使用しましょう。



http://www.bkjia.com/PHPjc/322301.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/322301.html

まず 2 つの方法について説明します。 1) ロードするファイルのリストを保存する文字列変数を定義します。次に foreach をロードします。 コードをコピーします。コードは次のとおりです: $a = '/a.class.php;/Util/b.cla...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート