phpの覚書

phpの覚え書きを書き溜めていくサイトです

PHP全般

マジック定数

投稿日:

マジック定数は特殊な定数で定義不要で参照可能な定数

__LINE__ファイル上の現在の行番号
__FILE__ファイルのフルパスとファイル名
__DIR__そのファイルの存在するディレクトリ
__FUNCTION__関数名
__CLASS__クラス名
__TRAIT__トレイト名
__METHOD__クラスのメソッド名
__NAMESPACE__現在の名前空間
class clsMagic {
    public function magicValue(){
        $this->funcEcho("ファイル上の現在の行番号",__LINE__); 
        $this->funcEcho("ファイルのフルパスとファイル名",__FILE__);  
        $this->funcEcho("そのファイルの存在するディレクトリ",__DIR__);  
        $this->funcEcho("関数名",__FUNCTION__);       
        $this->funcEcho("クラス名",__CLASS__);        
        $this->funcEcho("トレイト名",__TRAIT__);      
        $this->funcEcho("クラスのメソッド名",__METHOD__);  
        $this->funcEcho("現在の名前空間",__NAMESPACE__);  
    }
    private function funcEcho($msg,$value){
        echo $msg . ":" . $value . "<br />";
    }
}

$mg = new clsMagic();
$mg->magicValue();   // マジック定数を表示

マジック定数はエラーのトレースなどで、どのファイルの何行目でエラーが発生したとかの情報を記録する時に便利。本格的にアプリケーションを作るならエラーの詳細は必須だからね。

-PHP全般
-, , , ,

執筆者:

関連記事

no image

クラスの定義とインスタンス化

クラスの定義とインスタンス化 PHPでクラスを定義する時はclassキーワードを使って「class クラス名 { プロパティとかメソッドとか・・・ }」という感じ 定義したクラスをインスタンス化する時 …

no image

配列の定義・更新・参照・追加・ソート

配列の定義 PHPで配列を定義するには「array()」を使って変数に代入する方法と、変数に[ ]で直接代入する方法がある。 どちらの方法でも、キーなしの配列・キーありの連想配列それぞれ定義可能 // …

no image

クラスへのアクセス権

クラスへのアクセス権 クラス内のプロパティ・メソッドへのアクセス権の種類は、「public」と「protected」と「private」の3つ その名の通り「public」はクラスの外部からもアクセス …

no image

スーパーグローバル変数・定数

スーパーグローバル変数・定数 スーパーグローバル変数やスーパーグローバル定数は、プログラム中のどこからでも参照可能な値。 スーパーグローバルに含まれる項目や値は、「$GLOBAL」を参照すると確認でき …

no image

クラスモジュールのstaticプロパティとstaticメソッド

クラスモジュールのstaticプロパティとstaticメソッド staticの識別子を付けたプロパティやメソッドは通常の?(動的な)プロパティやメソッドとは使い方が異なり、インスタンス化せずに呼び出し …