🐡

マジック定数

2022/10/05に公開約800字

正確な詳細を知りたい場合は、公式サイトをご覧ください。このページでは分かりやすく一言で紹介します。
https://www.php.net/manual/ja/language.constants.magic.php

DIR
これを記述したファイルのディレクトリーのパスを取得できます。
PHP5.1くらいから追加されました。それ以前は、 dirname(__FILE__) で取得していました。
用途としては、include されたファイルが、更に別のファイルを include して、入れ子include状態のファイルが、親ディレクトリーを取得したい場合などで役に立ちます。

FILE
これを記述したファイルのフルパスを取得できます。
ファイル名だけを取得したい(パスは要らない)場合は、 basename(__FILE__) で取得できます。

LINE
これを記述した行が何行目かを取得できます。主にデバッグで使用します。
下の例では、どっちのif文が実行されているか確認します。

echo __FILE__;
if( $var === true ){
  echo __LINE__;
}else{
  echo __LINE__;
}

FUNCTION
これを記述した箇所の関数名やメソッド名を取得できます。
デバッグや自分でフレームワークを作成する場合に使います。

CLASS
これを記述した箇所のクラス名を取得できます。
デバッグや自分でフレームワークを作成する場合に使います。

METHOD
これを記述した箇所のメソッド名を取得できます。
メソッド名は、完全修飾されているので、単純にメソッド名だけが欲しい場合は、メソッド内で __FUNCTION__ を使います。
デバッグや自分でフレームワークを作成する場合に使います。

Discussion

ログインするとコメントできます