PHP のログで便利な定数をちょっと試しました♪

デバッグでログをとるときは、ログを出力した場所であるソースコードのファイル名、関数名、行数がわかると便利です。何かいい手はないかと探していたら、ありました♪メモしておきます!

ポイント

  • __METHOD__ → クラス名::関数名
  • __LINE__ → ファイル上の現在の行番号

使ってみた

CakePHP2 でお手軽に試してみます。せっかくですので、ポイントに掲載しなかった他の定数も試します。

app/Controller/SampleController.php

<?php
class SampleController extends AppController {

	public function index() {
		pr('__LINE__');
		pr(__LINE__);
		pr('__FILE__');
		pr(__FILE__);
		pr('__DIR__');
		pr(__DIR__);
		pr('__FUNCTION__');
		pr(__FUNCTION__);
		pr('__CLASS__');
		pr(__CLASS__);
		pr('__METHOD__');
		pr(__METHOD__);
		pr('__NAMESPACE__');
		pr(__NAMESPACE__);
	}
}

画面ではこんな感じで出ます。

CakePHP- the rapid development php framework- Sample.jpg

おわりに

__METHOD__ と、__LINE__ を押さえておけば、どこで出力したかどうかわかりますね!べたに書く文にはログに組み込むととても便利そうです。

逆に共通関数などに組み込むときは、これではだめでしょうね。共通関数の行数やクラス、関数めいが出力されてしまうでしょうから。課題です。

お世話になったページです。ありがとうございます。

また、課題を解決するのに、このページが参考になりそうです。CakePHP でなくても、使えそうですね。まだ試していませんが、楽しみです。

コメントを残す

コメントを残す