0

私はphp.netでコンストラクトをインクルードして要求することを学んでおり、このルールの例外は、インクルードが発生する前にパーサーによって評価される魔法の定数です。そのページの 7 段落で、魔法の定数と php の include および require との関係が何であるかを理解していませんでした。

誰でも簡単で簡単な言葉で伝えることができますか?

私の質問に否定的なマークを付けても問題ありませんが、答えてください。知りたいし、学びたいです。否定的なマークは関係ありません。

4

1 に答える 1

1

コードが解析される前に、パーサーはすべての include と require を解決するため、1 つのスクリプトであるかのようにすべてを解析できます。ただし、それらを解決する前に、魔法の定数など__DIR__は解決されます。

例:

次の 2 つのファイルがあるとします。

file1.php

<?php
require __DIR__ . '/file2.php';

echo 'Hello ' . $a;

file2.php

<?php
$a = 'World';

ご覧のとおり、そこには魔法の定数__DIR__があります。その定数は、私が書き込んだファイルへの絶対パスを返します。したがって、解析されたものは最初にそれを解決します:

<?php
require '/the-current-folder/file2.php';

次に、実際にはすべてが含まれているためinclude、次のrequireようになります。

<?php
$a = 'World';

echo 'Hello ' . $a;

次に、スクリプトを解析します。

Hello World
于 2017-08-30T15:20:43.080 に答える