PHP関数include include_once requireとrequire_onceの違い

1985 ワード

機能の紹介
  • include関数:指定したファイルを読み込み、中のプログラムを実行します.
  • require関数:ターゲットファイルの内容を読み込み、自分自身をこれらの読み込みの内容に置き換えます.
  • include_once関数:スクリプト実行中に指定ファイルを1回含めて実行します.ファイルにすでに含まれている場合は、再度含めたり実行したりしません.
  • require_once関数:require文と全く同じで、唯一の違いはPHPがファイルが含まれているかどうかを確認し、もしそうであれば再び含まれないことです.

  • includeとrequireの違い
    1.ファイルの導入方法が異なる
  • includeは指定されたファイルを読み取り、中のプログラムを実行します.
  • requrireターゲットファイルの内容を自身に置き換えます.

  • 2.導入ファイルが存在しない場合、処理動作が異なる
  • includeは警告を生成しますが、スクリプトは実行されます.
  • requrireは致命的なエラーを引き起こし、実行を停止します.

  • 3.機能が似ていて、実行する条件が違う
  • include次の例では、$valが真である場合にのみファイルfileが含まれます.
  • if ($val) {
      include("file");
    }
    
  • requrire次の例では、$valの真偽にかかわらず、ファイルfileが含まれます.
  • if ($val) {
      require("file");
    }
    

    4.通常の位置が異なる
  • includeは一般的にプロセス制御の処理部分に置かれ、includeが実行されたときにファイルを読み取り、プログラムプロセスを簡単化することができる.
  • requrireは一般的にPHPプログラムの一番前に置かれ、プログラムコードが実行される前に、指定されたファイルを先に読み取り、それをプログラムの一部とする.

  • xxxとxxx_onceの違い
  • includeおよびrequireは、以下のようにfileが4回含まれ、実行されるように複数回含まれ、実行され得る:
  •  php
      require 'file';
      require 'file';
      include 'file';
      include 'file';
    ?>
    
  • include_onceとrequire_onceは、指定したファイルが含まれる前に、ロードしたファイルのリストをクエリーし、含まれていないことを確認してから含めて実行します.次のようにfile 1とfile 2は1回のみ含まれ、実行されます:
  •  php
      include 'file1';
      include_once 'file1';
      require_once 'file2';
      require_once 'file2';
    ?>
    

    xxxとxxx_onceの選択
  • では、通常、include_onceおよびrequire_onceでは、クエリが含まれているかどうかを確認する必要があるため、パフォーマンスが低下します.しかし、サイクル内でなければ、性能の影響はあまり大きくありません.
  • APCが有効になっている場合はinclude_を使用しないでください.once、apc.include_once_override構成項目はうまく実現されていません.注意:Alternative PHP Cache(APC)は、opcodeのphp中間コードをキャッシュできるPHPに有効なオープンソースキャッシュツールです.

  • 関数を含む後にかっこを付けない
    理論的にはincludeとrequireの後に括弧を付けるかどうかは実行結果に違いないが、括弧を付ける効率は低いので、後に括弧をつけないで括弧をつけないことができる.