含む

WBOY
WBOYオリジナル
2016-06-23 13:29:431117ブラウズ

echo 'ended<br/>';include './k.php';echo 'ended<br/>';


付属のファイル k.php はどこでコンパイルされていますか?インクルード後にコンパイルして実行しますか?それともコンパイルされて実行用に組み込まれますか?


ディスカッションに返信(解決策)

この種の問題は明確ではありません。知るためにはソースコードを見なければなりません
しかし、テストを行うことはできます

file_put_contents('x.php', "<?php echo 1;");include 'x.php';file_put_contents('x.php', "<?php echo 2;");include 'x.php';
12

@xuzuning テスト結果は何ですか?テストしましたが、まだ理解できません

1 と 2 は出力されます
明らかにそれらは動的にロードされます

@xuzuning 私が知りたいのは、ステートメントがロードされてインクルードされる前に実行されることは私ではありません。どこで編集されていますか?インクルード後にコンパイルして実行しますか?それともコンパイルされて実行用に組み込まれますか?

もちろん、ロード時にコンパイルされます

たとえば、
file_put_contents('x.php', " include 'x.php '; // もちろん、x.php を事前にロードしてコンパイルすることは不可能です

ああ @xuzuning つまり、index.php 内のインクルード 'k.php'; がコンパイルされて (バイナリ コードになります) Index.phpで実行するとこんな感じでしょうか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。