2017-12-21 15 views
-1

私はPHP 7.2.0以下マジック定数__FILE__の記述の中で "symlinks resolved"とはどういう意味ですか?

を使用していますが、魔法の定数__FILE__の説明である:

解決のシンボリックリンクを含むファイルのフルパスとファイル名。インクルード内に を使用すると、インクルードされたファイルの名前が返されます。

私は句「解決シンボリックリンクを持つファイルのファイル名」の意味を理解していなかった

誰かが私を__FILE__一定の魔法の使い方の実証的な好適な例で、この句の意味を理解してください適切な説明を伴う。

+0

PHPのようなサウンドは、シンボリックリンクされたパスを直接返すのではなく、シンボリックリンクの実際のパスを解決します。私はあなたが 'compile-time-constant'でこの質問をタグ付けしたのを見ています。 PHPにはこのようなことはありません。 – OptimusCrime

+1

@OptimusCrime:事実を修正してください。 PHPマニュアル自体の引用は次のとおりです。「これらの「魔法の」定数はすべて、実行時に解決される定数とは異なり、コンパイル時に解決されます。 – SerialKisser

+0

申し訳ありませんが、私はそれを認識していませんでした。コンパイル時定数を持つPHPについて何も聞いたことはありませんが、この文脈では意味があると思います。 – OptimusCrime

答えて

5

シンボリックリンク(シンボリックリンク)は、任意の他のディレクトリエントリで1つのディレクトリエントリを指すようにファイルシステムに作成できる「ショートカット」です。 * NIXシェルでは、のようなもの:

$ ln -s /foo/bar.php /baz 

これは/foo/bar.phpへのシンボリックリンクとして/bazを確立します。どちらのファイルを使用しても、どちらも効果的です。

シンボリックリンクの解決は、指定されたパスを見て、その中のシンボリックリンクを認識し、それらが指す実際のファイルパスで置き換えることを意味します。だから、あなたに関係なく行う

$ php /baz 

または

$ php /foo/bar.php 

かどうかの__FILE__定数は、実際のファイル・パス/foo/bar.phpに解決されます。

関連する問題