ホームページ > バックエンド開発 > PHPチュートリアル > php include() 関数テスト分析_PHP チュートリアル

php include() 関数テスト分析_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:54:46
オリジナル
1062 人が閲覧しました

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

ファイル構造は以下のようになります

----a.php

---include/b.php

----include/c.php

a.php の場所

「include/b.php」をインクルード;

?>

-------------------------------------

b.php

「c.php」を含める;

インクルード 'include/c.php';

?>

--------------------------

c.php

エコー 'c.php';

?>

--------------------------

どちらも正しく実行でき、b.php の 2 つの異なるインクルード パスが実行可能であり、インクルード ファイルのインクルード検索の方法に従って c.php を見つけることができることを示しています。

ただし、最善の方法は絶対パスを使用することです。絶対パスを使用すると、PHP カーネルはインクルード パスでファイルを 1 つずつ検索する必要がなく、パスを通じてファイルを直接ロードします。これにより、コードの効率が向上します。処刑

define('root_path',dirname(__file__));

root_path.'/c.php'を含める;

?>


結論:

明らかに、インクルードの背後にあるパスの形式と PHP インクルード パスは、プログラムのパフォーマンスに影響を与えます。インクルードのパフォーマンスは、遅いものから速いものへと分類されます。

「a.php」を含む < 「./a.php」を含む < 「/fullpath/a.php」を含む
コードでは、絶対パスを使用してファイルをインクルードすることが最良の選択です。これにより、PHP カーネルは、インクルード パスでファイルを 1 つずつ検索する必要がなく、パスを通じてファイルを直接ロードします。

したがって、プロジェクトのパブリック ファイル内のプロジェクト ルート ディレクトリの絶対パスの定数を定義し、この定数をすべてのインクルード パスの前に置き、プロジェクト内のすべてのインクルードが絶対パスを使用するようにする必要があります。プログラムのパフォーマンスが向上するだけでなく、相対パスに起因するトラブルも軽減されます。

参照コード (emlog より):

define('emlog_root', dirname(__file__));

emlog_root をインクルードします。

プロジェクトのインクルード 'test.php' 形式で多数の相対パスを使用しており、それらを大量に変更するのが難しい場合は、php インクルード パス内のパスを減らして、確実な動作を改善してみてください。パフォーマンスも含めて。インクルード パス内のパスが少ないほど、PHP がファイルの検索に費やす時間が短縮されるためです。

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

tru​​ehttp://www.bkjia.com/PHPjc/632306.html技術記事 include_path の下を検索し、次に、現在実行中のスクリプトが配置されているディレクトリに相対的な include_path の下を検索します。たとえば、include_path は .、現在の作業ディレクトリは /www/ であり、これをスクリプトに含める必要があります...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート