[PHP]メソッドの呼び出し元関数名を取得する

debug_backtrace()関数を使用することで、スタックトレースの情報から取得可能です。

function showCallerFunc() {
    $dbg = debug_backtrace();
    echo( $dbg[1]['function'] );
}



メソッド内で、呼び元が誰かを知る必要は通常ありませんが、デバッグやログ出力目的には便利です。

また、debug_backtrace()メソッドでは、function以外に以下の情報も取得できます。

function    string  
    関数名。
 
line    integer     
    行番号。
 
file    string  
    ファイル名。
 
class   string  
    クラス名。
 
object  object  
    オブジェクト。
 
type    string  
    コール方式。
    メソッド呼び出しの場合は "->"、 静的なメソッド呼び出しの場合は "::" が返されます。 
    関数呼び出しの場合は何も返されません。
 
args    array   
    関数の内部の場合、関数の引数のリストとなります。 
    インクルードされたファイル内では、 読み込まれたファイルの名前となります。


関連記事

コメントを残す

メールアドレスが公開されることはありません。