wahsaga: Umgang mit magischen Konstanten

Beitrag lesen

hi,

Die magischen Konstanten und $php_errormsg sowie mysql_error() beziehen sich ja immer auf die aktuelle Stelle, an der sie stehen...

du könntest "eigene" konstanten benutzen, die du dir jeweils am anfang des aktuellen scriptes mit den richtigen werten belegst.

zitat manual:

Wie bei superglobals ist der Gültigkeitsbereich einer Konstanten global. Unabhängig vom Gültigkeitsbereich
können Sie in Ihrem Skript überall auf eine Konstante zugreifen.

wenn du also am anfang des haupt-scriptes
define('AKTUELLES_FILE', __FILE__);
machst, könntest du AKTUELLES_FILE in deiner error-funktion nutzen, und hättest immer den "richtigen" wert.

bei __FUNCTION__ funktioniert dies aber leider auch nicht so einfach - da wird dir wohl wirklich nur bleiben, den aktuellen wert als parameter zu übergeben ...

mysql_error() sollte m.E. kein problem darstellen - das liefert immer den letzten fehler der DB (oder '', wenn's keinen gab). es sei denn, du arbeitest mit mehreren verbindungskennungen in einem script, dann müsstest du die aktuelle auch noch jeweils übergeben.

btw:

Das Abschalten kann man noch durch ein "if(DEBUG)" vor dem error_log() steuern.

auch dafür würde ich eine konstante nehmen, und die global auf true oder false setzen - und die if-abfrage dann _innerhalb_ der error-funktion machen - spart dir die abfrage vor _jedem_ aufruf der funktion.

gruß,
wahsaga

--
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."