Ich habe versucht, das zu erreichen, was Sie wollen, und schließlich eine vernünftige Lösung gefunden.
Mache eine Klasse mit dem Namen Debug
und schließe sie über jede Datei ein, in der du debuggen willst. Erstelle eine Funktion, die die in $calls
gespeicherten Informationen schön ausdruckt.
Rufen Sie diese Funktion immer dann auf, wenn Sie eine Funktion in der ersten Zeile der Funktion body deklarieren: Debug::log($message(optional) )
Auf diese Weise gibt es eine Möglichkeit, ein Array mit den Namen der aufgerufenen Funktionen mit Parametern zu erhalten?
Nein.
Was Sie tun können, ist ein debug_backtrace()
, das alle Funktionen anzeigt ruft (mit Parametern) auf, die zur Ausführung von der Zeile führen, von der aus Sie das Backtrace von (dem "Aufruf-Stack") ausführen, aber das ist anders als alle Funktionen, die im Skript aufgerufen wurden.
Was möchten Sie tun? Vielleicht gibt es einen anderen Ansatz.
Ich suchte nach etwas ähnlichem und fand die Ablaufverfolgung von xdebug sehr nützlich.
Hier ist ein Beispiel, wie es aussehen könnte: Ссылка
Nicht, dass ich es weiß.
Sie können jedoch debug_backtrace verwenden, um die aktuell aktive Funktions- / Methodenhierarchie zu erhalten.
Ich glaube nicht, dass es eine Möglichkeit gibt, das zu tun, was Sie wollen. Entschuldigung.
Am ehesten kann ich die Funktion function_exists()
aufrufen, die Ihnen anzeigt, ob eine bestimmte Funktion geladen wurde.
Was genau wollen Sie hier erreichen? Ich kann keinen Anwendungsfall (außerhalb eines Bildschirmtyps php_info ()) sehen, der eine Liste verfügbarer Funktionen erfordern würde.
XHProf oder Webgrind / KCachegrind zeigt Ihnen die aufgerufenen Funktionen, aber nicht ihre Parameter.
Sie können auch get_defined_functions verwenden, wodurch Sie eine Liste aller definierten Funktionen erhalten. Aber es zeigt Ihnen nicht, welche Funktionen tatsächlich aufgerufen wurden und mit welchen Parametern.
Wenn Sie die Parameter wirklich kennen müssen, kenne ich keine anderen Tools als einen benutzerdefinierten Logger, wie ihn Henze in seiner Antwort bereitgestellt hat.
Tags und Links php