In welcher Zeile / Datei wurde eine Funktion aufgerufen?

Mamphil

Erfahrenes Mitglied
Hallo,

ich möchte innerhalb einer Funktion wissen, wo sie aufgerufen wurde, damit ich ggf. eine detaillierte Fehlermeldung mit den "Koordinaten" des fehlerhaften Funktionsaufrufs machen kann.

Die Konstanten __FILE__ bzw. __LINE__ enthalten leider genau die Datei / Zeilennummer, in denen sie stehen. Gibt es passende Konstanten / System-Variablen?

Über Tipps und Hinweise in dieser Richtung würde ich mich sehr freuen. Ein "gibt es nicht" wäre auch schon hilfreich ;)

Vielen Dank im Voraus,
Mamphil
 
Das Problem der magischen Konstanten ist, dass sie immer den Ort ihres Auftretens zurückgeben. Den Ort des Aufrufs einer Funktion kannst du meines Wissens damit nicht ermitteln.
 
Willst du das für eine Fehlerfunktion benutzen?

Folgenes Wäre möglich:
PHP:
Funktion() OR DIE('Datei: '.__FILE__.'<br>Zeile:'.__LINE__);

Hierfür muss aber gegeben sein, dass die Funktion den Wert False zurückgibt.
 
Hi,

danke für eure Antworten.

Dass die Variablen __LINE__ und __FILE__ immer den Ort ihres Auftretens ausgeben, ist klar.
TvP: Dein Vorschlag ist zwar umsetzbar, aber irgendwie doch recht kompliziert. Ich habe halt eine Klasse, die auf die Datenbank zugreift. Wenn ich dort einen Fehler entdecke, möchte ich gerne wissen, wo der Aufruf war. Und hinter jeden Funktionsaufruf einen langen DIE-Ausdruck zu setzen ist einfach unpraktikabel.

Mamphil
 
Zurück