自動的に定義される定数

本文中だと __DIR__ とか、それ以外だと __FILE__ とか出てくる事があります。ちなみにアンダースコア(_)は「二つ」なので、お気を付けて。
これらは「自動的に定義される定数」になります。
http://php.net/manual/ja/language.constants.predefined.php
で確認ができます。

__DIR__は PHP5.3で追加をされたので。
それ以前のバージョンですと

dirname(__FILE__)

と書いていました。これが __DIR__ と等価の値をたたき出してきます。
記法としては「幾分古い」のですが、まだ、定期的に見かけますね。

上述はよく「includeやrequire」、それらの基準になる「基準ディレクトリの設定」などで使われる事が多いと思います。

__DIR__、__FILE__以外だと、よく使われるのが「__LINE__ 、 __FUNCTION__ 、 __CLASS__」ですね。これらはよく「デバッグやエラーなどのログ」で、ワンセットで使われる事が多いです。

これら以外に「クラス名::class」という記述が、特に最近のフレームワークだと、散見されるようになりました。
これは「The fully qualified class name」が返ってきます。
http://php.net/manual/ja/language.oop5.basic.php#language.oop5.basic.class.class
こちらを見た方が早いかもしれないですね。
クラスの完全修飾名(The fully qualified class name)、つまり「名前空間付きのクラス名」が文字列として返ってきます。


この記事が気に入ったらサポートをしてみませんか?