db wrapper, php fehler meldung, wie herausfinden wo eine funktion aufgerufen wurde
-
hallo,
ich habe eine wrapper funktion um ein paar postgresql funktionen, jetzt hätte ich ein vorteil der wrapper funktion genutzt und die fehler behandlung im wrapper gepackt, wie komme ich in php an $aufrufer_dateiname und $zeile
hier etwas pseudocode:function query($query_string) { $res = pg_querr($query_string) if(!$res) //fehler in query oder ähnliches { echo 'Fehler'; echo 'query wurde aufgerufen in der datei '. $aufrufer_dateiname .' zeile '. $zeile; ... } }
danke
-
Bin mir nicht sicher, was __LINE__ und __FILE__ ausgeben - aber falls noch nicht geschehen, kannst du es ja damit mal versuchen.
Siehe: http://www.php.net/manual/de/language.constants.predefined.php
-
__LINE__ und __FILE__ sucken aber, wenn man meinen phppp nicht hat
wer schreibt das schon gerne hundertmal?
viel schoener ist da ein debug_backtrace() - irgendwann muss ich mal eine funktion schreiben die den backtrace schoen darstellt... aber ein debug_backtrace() reicht zum debuggen ja auch schon.
ansonsten xdebug oder apd mitlaufen lassen, da hast du dann alle infos die du dir wuenscht.
-
das ist es leider nicht, ich möchte gerne wissen in welcher datei/zeile die funktion aufgerufen wurde, mit __FILE__ bekomme ich aber nur den ort wo die funktion definiert ist
ich wüste schon eine lösung und zwar function query($str, $line, $file) und dann müsste ich querry immer so aufrufen
$db->query("SELECT * FROM ...", __LINE__, __FILE__);
aber das will ich grade vermeiden,
-
Shade Of Mine schrieb:
__LINE__ und __FILE__ sucken aber, wenn man meinen phppp nicht hat
wer schreibt das schon gerne hundertmal?
viel schoener ist da ein debug_backtrace() - irgendwann muss ich mal eine funktion schreiben die den backtrace schoen darstellt... aber ein debug_backtrace() reicht zum debuggen ja auch schon.
ansonsten xdebug oder apd mitlaufen lassen, da hast du dann alle infos die du dir wuenscht.
kucke ich mir an, wird langsamm höste zeit das ich von debugen mit echo wegkomme
-
Hm... was genau würden denn für werte genommen wenn du bei
function query($str, $line, line und str, $line = __LINE__, $file = __FILE__)Hm.. ne dann würden auch wieder Linie und File von der function definition genommen, gelle?