[PHP-users 7926] Re: 自分自身のファイル名取得
Naofumi Kondoh
php-users@php.gr.jp
Wed, 05 Jun 2002 13:56:24 +0900
ソフト工房の近藤です。
Mashiki wrote:
>
> Mashikiです。
>
> 便乗質問です。
>
> >次のように、デバッグ文として入れるときに便利。
> >
> >if(dbg>=3)printf("%s.L%04d: hoge = $hoge <BR>",basename(__FILE__),__LINE__);
>
> 共通関数の中でのエラー処理で、呼び出し元のファイル名と行番号が、
> 呼ばれた関数側で取得できると、かなり有効なログやエラーメッセージが
> 出力できるのですが、何かいい方法はありませんでしょうか?
我流ですが、呼出し元のファイルが1つだけの場合は、
define(FNAM__, __FILE__);
などと適当な定数を必ず設定するようにしておくという
方法をとっています。
DB アクセスなど 重要な または デバッグポイントになり
そうな関数やクラスメソッドには、引数でファイル名と
行番号をいれています。
function hoge($arg1, 。。。。 $argn, $File="", $Line=0)
{
if ($File) $File = basename($File);
......
if(dbg>=3)printf("%s.L%04d → %s.L%04d:
hoge = $hoge <BR>",
$File, $Line, basename(__FILE__),__LINE__);
.....
}
呼び出す時は、
hoge(......., __FILE__, __LINE__);
とする。
最後の2つの引数は、省略できるようにしています。
我流ですが、ご参考まで。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
(株)ソフト工房 近藤直文 Email: nkon@shonan.ne.jp
http://www.SOFTKOUBOU.co.jp/ http://www.shonan.ne.jp/~nkon/
2002-06-20(木曜)夜 JPUG 業務アプリ分科会 セミナー/勉強会
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/