phpbar.de logo

Mailinglisten-Archive

[php] undefinierte Variablen

[php] undefinierte Variablen

"Mario Haßler" M.Hassler at gmx.de
Do Sep 8 13:05:50 CEST 2011


Hans Egg schrieb:

> [...] es gibt durchaus Anwendungen, in denen solche Fragen von
> Bedeutung sind. Typesicherheit war möglicherweise für deinen
> Bedarf bisher nicht von Bedeutung, als generell "unnötig" würde
> ich es deshalb nicht bezeichnen.

Um den Typ ging es doch gar nicht. Es ging um den vergleichenden(!)
Zugriff auf ein nicht existierendes Array-Element. Wenn ich lediglich
wissen will, ob es einen bestimmten Wert hat, dann ist meiner Meinung
nach die zusätzliche Frage, ob es überhaupt existiert, überflüssig.
Ein Objekt, das nicht existiert, hat garantiert nicht den fraglichen
Wert. Typ hin oder her.

> Versuche mal mit $_REQUEST['id'] == '0' folgende Fälle zu unter-
> scheiden:
> id ist nicht gesetzt
> id ist NULL
> id ist false
> id ist '0' (String)
> id ist 0 (Integer)
> id wurde per HTTP post übermittelt
> id wurde per HTTP get übermittelt

Das würde ich schon hinbekommen, wenn ich das bräuchte. Aber wie
gesagt, darum geht es in diesem Fall nicht und vermutlich auch in
den allermeisten anderen Fällen nicht, wenn für "sauberes" Progam-
mieren noch eine Existenzabfrage ergänzt wird.

> Ich jedenfalls bin täglich dankbar für all die feinen Abstufungen
> im error_reporting (NOTICE, WARNING, DEPRECATED etc.), die mir
> helfen, klare Verhältnisse in meinem Code zu schaffen.

Von der Seite aus betrachtet könnte ich die Kritik auch so formulieren:
Mir geht die Feinheit in den Abstufungen dann wohl nicht weit genug.
Eine Bedingung wie ($_REQUEST['id'] == '0') hat ein eindeutiges Er-
gebnis, wenn die Variable nicht existiert. Hier möchte ich keinen
Hinweis erhalten, also schalte ich "E_NOTICE" ab. Aber vielleicht
unterdrücke ich damit auch Hinweise, die durchaus wert wären, genauer
betrachtet zu werden?

Gruß

Mario Haßler


-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de

php::bar PHP Wiki   -   Listenarchive