【PHP】Logファサードでマジック定数の使用
状況
LaravelのLogファサードを使い、メソッド名をmsgに含めたいときに。
マジック定数とは
- 自動的に定義される定数
- 使われる場所によって、値が変化する(魔法(マジカル)のように変化するイメージ)
- 9種類(__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__TRAIT__、__METHOD__、__NAMESPACE__、ClassName::class)
コード
今回の状況でいうと、__FUNCTION__ がそれに当たる。
class Test {
public function __construct() {
echo __CLASS__; //Test
}
public function showData() {
echo __METHOD__; //Test::showData
echo __FUNCTION__; //showData
}
}
$test = new Test;
$test->showData();
Laravel Logファサード
$methodに、__FUNCTION__を入れてやる。
use Illuminate\Support\Facades\Log;
public function test($method){
Log::error('error at '.$method. 'msg:');
}
マジック定数使っていきたい。