• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

__LINE__ in selbstdefinierter Funktion

Status
Für weitere Antworten geschlossen.

dying_hero

Neues Mitglied
Hi,
ich hab mal eine Frage: Wenn ich innerhalb einer selbstdefinierten Funktion __LINE__ ausgebe, wird dann die Zeilennummer, in der die Funktion definiert wurde (also dort, wo __LINE__ eigentlich steht) oder die Zeile, in der auf die Funktion zugegriffen wurde ausgegeben?

MfG dying_hero
 
Werbung:
Hallo,

testen wir es doch einfach mal:

Code:
<?php

        function showLine() {
                echo __LINE__;
        }

        showLine();

?>

Liefert als Ausgabe:

Also es zeigt die Zeile an, in der __LINE__ verwendet wurde.

Ist auch logisch, denn sonst könnte man ja in Funktionen __LINE__ nicht mehr verwenden, bzw. es wäre sinnlos.


N43
 
Wo wir gerade dabei sind, gibt es ne Möglichkeit, die Zeile herauszufinden, wo die Funktion aufgerufen wurde, damit man debuggen kann?

Also ohne immer schreiben zu müssen
PHP:
display('Hallo', __LINE__);

Richard
 
Werbung:
Hallo,

das geht mit debug_backtrace().

Wenn man aber sowieso nach einem Fehler abbrechen will, sollte man Exceptions verwenden. Die liefern einem auch den Call Stack.

PHP:
try {
   throw new Exception("Ausnahme");
} catch(Exception $e) {
   var_dump($e->getTrace());
}


N43
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben