呼び出し元を取得
最近は基本的にべたでプログラムを書くことはなくて、フレームワークを使ってクラスやら関数やらを書くことがほとんど。そのクラスとか関数から、さらにクラスや関数を呼び出すわけだが、呼び出された側で、呼び出し元の情報にアクセスする際、今までは引数で渡す処理にしていた。もちろんこれはこれで「必要以上の変数にはアクセスさせない」というフールプルーフ的なメリットが大きいが、その都度引数を渡す必要がある。いろいろ調べたら、PHPには呼び出し元のクラス(オブジェクト)にアクセスできる仕組みが用意されていた。
debug_backtrace関数だ。
読んで字のごとく、バックトレースしてくれるわけだ。呼び出し元クラス名やオブジェクト名、関数名やファイル名など、いろいろな情報にアクセスできる。しかし、まぁdebugとついているくらいだから、本来はデバッグ用で使用するためのものだろう。使うのには注意が必要かな。