Mailinglisten-Archive |
Christian Knorr wrote:
> Am Mittwoch 09 Juli 2008 18:33:07 schrieb Yannik Hampe:
>> error_reporting(E_ALL);
> Ergibt immer "6135" egal auf welcher Seite ich bin.
> Habs in den footer (separate php) gepackt.
Der Rückgabewert von error_reporting ist eigentlich auch weniger
interessant. Der Aufruf verändert nur, welche Fehler php anzeigt und
welche es still und heimlich übergeht. Und zwar ab dem Punkt, wo es
aufgerufen wurde. Für alle Fehler, die vor dem Aufruf passieren ändert
sich auch nichts. Das ist natürlich langweilig, wenn der Aufruf erst im
Footer kommt ;-).
Übrigens: Wenn du es noch genauer haben willst, dann nimmst du sogar
error_reporting(E_ALL | E_STRICT);
Denn erst dann bekommst du wirklich alles. Auch die Strict-Errors, die
vorallem Fehler anzeigen, die nur Fehler in php5 sind, aber in php4 ok
gewesen wären. Wegen Rückwärtskompatibilität kann php5 mit solchen
Problemen umgehen, aber in php6 werden die meisten Strict-Errors
vermutlich zu Fatal-Errors werden...
>
> Ach, stop.
> Habs jetzt mal in eine andere Datei gestopft. Das ist ja nicht nett :-(
> "Notice: Use of undefined constant w - assumed 'w' in /var/....."
> Haufenweise.
Das kommt allerdings woanders her. Und zwar, wenn du sowas schreibst:
$bla =w;
oder
$bla[w] =5;
Wenn du vorher
define('w', 'hallo');
aufgerufen hast, hast du eine konstante erstellt, die dann auch in den
obigen Befehlen verwendet wird.
Wenn ein php in einem Quellext eine Konstante findet, die es nicht
kennt, dann nimmt es als Wert für die Konstante einfach den gegebenen
Namen (und wirft eine Notice).
Also schön Apostrophe setzen. Denn auch damit kann man sich viel Ärger
einbrocken ^^.
>
> Danke nochmal, Chris.....
Yannik
php::bar PHP Wiki - Listenarchive