ホームページ > バックエンド開発 > PHPチュートリアル > PHP: 「include.php」を「./include.php」に置き換えます。

PHP: 「include.php」を「./include.php」に置き換えます。

WBOY
リリース: 2016-06-23 14:33:26
オリジナル
873 人が閲覧しました

私は最近 PHP を学習していますが、.NET と比較するのが好きです。違いの 1 つは他のファイル内のオブジェクトの参照の問題であることがわかりました。 Java にはパッケージという概念があり、.NET には DLL アセンブリ参照というより便利な概念があることがわかっています。パッケージ化された形式で結合されたオブジェクトのコレクションを通じて、独自のクラス内の他のオブジェクトや、クラスで定義された他のオブジェクトを簡単に参照できます。他の場所にもありますが、PHP には対応する概念がないため、他のファイルで定義されたオブジェクトを参照する必要がある場合、PHP プログラマが最もよく使用する 2 つの関数は require_once と include です。これらの 2 つの関数を通じて、定義されたクラスなどのオブジェクトを使用できます。他のクラスライブラリでも。しかし、多くの人は、同じディレクトリ内の他のファイルを使用するときに、単純に次のコードを使用してファイルを参照します:

              <p class="sycode">                  include    (    '    include.php    '    );              </p>
ログイン後にコピー

もちろん、この方法に問題はありませんが、次の方法よりも若干効率が劣ります。

              <p class="sycode">                  include    (    realpath    (    dirname    (_FILE_))    .    DIRECTORY_SEPARATOR    .    '    include.php    '    );              </p>
ログイン後にコピー

この方法では、より多くの入力が必要になる可能性がありますが、PHP エンジンが include_path を反復処理して「include.php」という名前のすべての名前を検索し、対応するオブジェクト dirname( __FILE__) を見つける必要がある前の方法と比較すると、この絶対パスの指定により、システムは対応するファイルを迅速に見つけることができます。

PHP の定数 __FILE__ は、実際には C# の AppDomain.CurrentDomain.BaseDirectory に非常に似ており、現在実行されているコードが配置されているファイルの絶対パスを返します。関数 dirname() は、その親フォルダーのパスを返します。

もう 1 つのより効率的で簡単な記述方法は include('./include.php') です。これは、現在のパスで 'include.php' ファイルを見つけるようにシステムに指示するのと同じです。

大規模なシステムでは、別のより良い方法を使用することがよくあります。次のコードをルーティング ファイルまたはその他の初期化ファイルに追加します。

              <p class="sycode">                  define    (    '    APP_PATH    '    ,    realpath    (    dirname    (_FILE_)));              </p>
ログイン後にコピー

これは、システム ルートを指すグローバル変数をシステムに追加するのと同じです。 directory で、後で特定のパスにあるファイルを参照する必要がある場合は、次のコードを使用できます:

              <p class="sycode">                  include    (APP_PATH    .    DIRECTORY_SEPARATOR    .    '    models    '    .    ’User    .    php’);              </p>
ログイン後にコピー

この簡単な概要がお役に立てば幸いです。

注: PHP 5.3 以降に新しい Phar 機能があることを発見しました。これは Java の jar パッケージと同じ概念を持つと言われていますが、ネット上にはあまり情報がなく、まだ実際に使用していません。 。それを紹介する記事を見つけました: http://www.ibm.com/developerworks/cn/opensource/os-php-5.3new4/index.html

ログイン後にコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート