デバッグについて質問する

WBOY
WBOYオリジナル
2016-06-23 14:24:18959ブラウズ

クラス A はクラス B を拡張します;
クラス B はクラス C を拡張します;
A、B、および C には多くのメソッドがあります。テスト メソッドがどこにあるかを追跡できるテスト メソッドはありますか?今度は授業中?
print_r と var_dump がクラス名を渡すと、属性情報のみを出力でき、メソッド情報は出力できないことがわかりました。
聞きたいのですが、メソッド情報をクエリするためのデバッグ方法はありますか? PHP を学び始めたばかりなので、アドバイスをお願いします。


ディスカッションへの返信 (解決策)

var_dump(debug_backtrace());

この文は test() メソッドで書かれています

() メソッド

しかし、テスト メソッドがどこにあるのかわかりません。私が今やりたいことは、テスト メソッドの場所を見つけることです


その場合、それを見つけるにはエディターを使用するしかありません。とてもシンプルです。

その後、エディターを使用して検索するだけで、非常に簡単です。

実際の状況は、 A は B を拡張し、 B は C を拡張し、 C は D を拡張し、 D は E を拡張します。 A にメソッドがあれば、それは A で呼び出されます。 B にはメソッドがありません。C にあります。探してみてください。テキストエディタで検索するとAからやらないといけないのが面倒


数個のファイルだけを検索するのは面倒ですか?これではうまくいきません。

php のリフレクションメカニズムを通じて取得できます

$obj= new ReflectionClass("demo"); // demo 是一个类名echo "<pre class="brush:php;toolbar:false">";print_r($obj->getMethods());echo "
"

エディターを使用して検索してください

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。