古い話題です。include と require についてもう一度質問します
マニュアルによると、include と require の唯一の違いは、エラーが発生したときに発生するエラーのレベルの違いです。
しかし、インターネット上の 2 つの違いはこれよりはるかに多く、非常に混乱しています
以下はインターネットから抜粋した意見と質問の一部です
------ --- --------------------------------------------------- --- --------------------------------------------------- ---
「プログラムが実行されるとすぐに呼び出される」とは何ですか?
<?php<br />//aa.php<br />echo 'aa';<br />require './bb.php';
ログイン後にコピー
私はコンパイルとかそういうことは何も知らないので、とりあえずそう思います。
require の状況についてアドバイスをお願いします。aa.php を実行するときは、aa.php と bb.php を一緒にコンパイルしてから実行します。
include の状況: まず aa.php をコンパイルし、実行してください。インクルードがあり、bb.php をコンパイル -> bb.php を実行します。完了したら、戻って aa.php 以下のコードの実行を続けます。
----------------------------------------------- --- --------------------------------------------------- --- -------
が発生するのが非常にわかりにくいです。 aa.php は上記と同じコードで、以下は bb.php です。これは正常に実行されます
<?php<br />//bb.php<br />if(true){<br /> echo 'bb';<br />}<br />return 'abc';
ログイン後にコピー
------ --- --------------------------------------------------- --- --------------------------------
この記事では例を挙げて結論を述べています:
だけを使用できることがわかります。
<?php<br />//aa.php<br />echo 'aa';<br />$i=1;<br />while($i<3){<br /> require './test' . $i . '.php';<br /> $i++;<br />}
ログイン後にコピー
ただし、私のテストは test1.php と test2.php の両方をインポートできました
<?php<br />echo 'test1';
ログイン後にコピー
<?php<br />echo 'test2';
ログイン後にコピー
出力: aatest1test2
---- -------------------------------------------- ------ -------------------------------------------- ------ -----------------------
<?php<br />//aa.php<br />if(false){<br /> require './bb.php';<br />}
ログイン後にコピー
そうですか? bb.php が導入されていることを証明するにはどうすればよいですか?
----------------------------------------------- --- --------------------------------------------------- --- -----------------------
また、エラー報告について質問がありますが、マニュアルにはこう書いてあります
<?php<br />//aa.php<br />include 'nofile.php';<br />//require 'nofile.php';
ログイン後にコピー
エラーは次のように報告されます: