phpbar.de logo

Mailinglisten-Archive

[php] Was stimmt mit meiner if(or) Anweisung nicht?

[php] Was stimmt mit meiner if(or) Anweisung nicht?

Yannik Hampe yannik at cipher-code.de
Mit Jul 9 20:54:41 CEST 2008



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