【PHP】Logファサードでマジック定数の使用

php-laravel

状況

LaravelLogファサードを使い、メソッド名を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:');
}

マジック定数使っていきたい。

参照

マジック定数

Laravel, php, programming

Posted by himajinn