1

Debugすべてのプロパティとメソッドが静的なクラスを作成しました。遅延静的バインディングを使用して、このクラスを実行中の内容とその時点のロガーとして使用します (実際、現在パフォーマンスの問題をテストしているので、何がいつ行われるかを確認したいと思います)。

そのため、現時点では、各クラスの各メイン メソッドに次のようなものがありDebug::log(__CLASS__ . '::' . __METHOD__);ます。メソッドではDebug::log()、時間を追加して配列に格納できます。

いつの日か動作を変更したい場合は、多くのファイルで多くのコードを変更する必要があります...

私の質問は次のとおりです。これらを省略__CLASS__ . '::' . __METHOD__して、Debug::log()メソッドがどのクラスから、どのメソッドから呼び出されたかを知ることは可能ですか?

おそらくコールスタック?

4

2 に答える 2

2

あなたが探している機能は次のとおりですdebug_backtrace()。この目的に使用できるデータ構造が得られます。マジック定数をそのように機能させる方法はありませんが、私はその考えに同意します。関数定義でデフォルト値として使用されるマジック定数を、定義時ではなく呼び出し時に評価できるようにする機能リクエストを投稿することを検討してください。そのような機能要求をサポートします。

于 2013-05-21T21:31:04.397 に答える