ホームページ > バックエンド開発 > PHPチュートリアル > ファイルを導入するためにphpでincludeとrequireを使用することの違いは何ですか?

ファイルを導入するためにphpでincludeとrequireを使用することの違いは何ですか?

怪我咯
リリース: 2023-03-12 20:30:01
オリジナル
1204 人が閲覧しました

require() ステートメントのパフォーマンスは include() と似ており、指定されたファイルをインクルードして実行します。違いは、 include() ステートメントの場合、ファイルは実行されるたびに読み取られて評価されるのに対し、require() ステートメントの場合、ファイルは 1 回だけ処理されることです (実際、ファイルの内容が require() ステートメントに置き換わります)。

最近、何人かの友人が require_once について質問しました。プログラムで遭遇した問題に関しては、バグが存在する限り、それらは調査して解決する価値があります。この問題に対して、include と require の詳しい使い方をまとめます。 (情報と私自身の理解を組み合わせて統合しました)困っている友人に少しでも助けになれば幸いです。

紹介ファイル:

まず、php ファイルが必要です:

<?php
class shao//类名必须和文件名相同!!!
{
  public $xxx="666";
}
$shili = new shao();
echo $shili->xxx;
?>
ログイン後にコピー

引用:

<?php
//引入文件
include "shao.php";//引用文件;只能引用一遍
//引用多个则费劲
//include_once("shao.php");//一次又一次
//也可以require ("shao.php");
?>
ログイン後にコピー

include と require の違い:

require:
再要求時に実行() の場合、ファイルは 1 回だけ読み取られるため、多くの場合、ファイルがインポートされた後、PHP は Web ページ ファイルを再コンパイルして、インポートされたファイルが元の Web ページの一部になります。

require(): ファイルが存在しない場合、スクリプトはエラーを直接報告し、プログラムの実行を停止します。
include:


include()を実行すると毎回ファイルが読み込まれるため、
条件判定

などの

プロセス制御の部分やループ内でよく使われます。 include(): 条件付きインクルード。ファイルが存在しない場合、警告が表示されますが、スクリプトは実行を継続します。

include でエラーが発生した場合 (参照されたファイルが存在しない場合)、PHP はエラーを報告するだけです。ですが、プログラムは実行し続けます

以下は補足です:


1. include には戻り値がありますが、require には戻り値がありません。

2. include() は指定されたファイルをインクルードして実行します。処理が失敗すると、インポートされたプログラム コードが実行され、これらのプログラムの実行時にソース ファイル内で include() ステートメントが呼び出されます。 . 同じ

変数スコープ の位置。同じサーバーから静的ページをインポートできます。 3. include_once() の関数は include() とほぼ同じです。唯一の違いは、 include_once() は、インポートされるファイルがプログラム内の他の場所にインポートされているかどうかを最初にチェックすることです。繰り返しインポートしないでください (この関数は場合によっては非常に重要です。たとえば、インポートされるファイルが自分で定義したいくつかの関数を宣言している場合、このファイルを同じプログラムで繰り返しインポートすると、ファイルは 2 回目にインポートされます) PHP では同じ名前の関数を再度宣言することができないため、このエラー メッセージが表示されます)。
4. require() は対象ファイルの内容を読み込み、読み込んだ内容で置き換えます。処理が失敗した場合、require() は致命的なエラーを引き起こします。 この読み取りと置換のアクションは、PHP エンジンがコンパイルされたプログラム コードの実行を開始するときではなく、PHP エンジンがプログラム コードをコンパイルするときに発生します (PHP 3.0 エンジンの動作方法は、一度に 1 行ずつコンパイルして実行します。しかし、状況はそれ以来変わりました) PHP 4.0。PHP 4.0 は、まずプログラム コード全体をコンパイルし、次にコンパイルされたプログラム コードを一度に実行します。コンパイル プロセス中にプログラム コードは実行されません。 require() は通常、静的コンテンツのインポートに使用されますが、include() は動的プログラム コードのインポートに適しています。

5. include_once() と同様に、require_once() はまず、ターゲット ファイルのコンテンツが以前にインポートされているかどうかを確認します。そうである場合、同じコンテンツは再度インポートされません。

6. require は無条件の包含です。つまり、require がプロセスに追加されると、条件が true であるかどうかに関係なく、require が最初に実行されます。
7. require は通常、PHP プログラムの先頭に配置されます。PHP プログラムが実行される前に、まず require で指定されたファイルを読み込み、それを PHP プログラムの Web ページの一部にします。このようにして、よく使われる機能を Web ページに導入することもできます。 8. インクルードは通常、プロセス コントロールの処理部分に配置されます。PHP プログラムの Web ページは、インクルードされたファイルを読み取るときにのみ読み取ります。この方法により、プログラムの実行プロセスを簡略化できます。

ファイルが繰り返しインクルードされているかどうかを検出するには、require_once() と include_once() を使用することをお勧めします。




自動読み込み

:

参照されたphpファイル:

自動読み込み:
<?php
function autoload($asd)
{
  require $asd.".php";//可填地址查找
}
$shili = new shao();
echo $shili->xxx;
?>
ログイン後にコピー

以上がファイルを導入するためにphpでincludeとrequireを使用することの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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