ワードプレスのPHPコードによくみられる__dir__や__file__について解説いたします。
PHPのマジックコンテンツ__dir__、__file__
__dir__、__file__等のコードはマジックコンテンツと呼ばれ、PHPコードが実行される際に、自動でテキストに置き換えられます。
__dir__ は現在実行されようとしているファイルが入っているディレクトリのサーバー上のパスに置きかえされます。
__file__ は現在実行されようとしているファイルのサーバー上のパスに置きかえされます。
echo __dir__; echo __file__;
↓ 出力は下記のようになります。
/var/www/wordpress/myphp/ /var/www/wordpress/myphp/test.php
__dir__、__file__は別のファイルにインクルードされているファイルでも、そのインクルードをしている方のファイルのパスではなく、__dir__、__file__という記載があるインクルードされる方の元ファイルのパスを出力しますので注意が必要です。
(PHPが実行する直前にそのファイルのパスに置き換えるからでございます)
その他のマジックコンテンツ
PHPにはその他にもいろいろなマジックコンテンツがあります。
__LINE__ 現在実行中のファイルのこのコードがある行番号を返します
__FUNCTION__ 現在実行中のFunction(関数)名を返します
__CLASS__ 現在実行中のクラス名を返します
__NAMESPACE__ 現在のファイルのネームスペースを返します
参考
https://www.php.net/manual/en/language.constants.magic.php
ご参考になりましたら幸いです。
WordPress ワードプレスの様々なPHPコーディングを代行いたします。WPドクターまでお気軽にご相談・ご依頼お送りください