![]() Mailinglisten-Archive |
> "sauberes" Progammieren: > Wodurch wird das Skript fehlerfreier wenn Variablen vor abfrage auf > existenz gepr�ft werden. Einleuchen w�rde es mir in diesem Fall wenn > eine nicht benutzte Variable den Wert 0 enthalten w�rde, > dies ist aber nicht so. PHP bietet durch seine Unterscheidung zwischen "==" und "===" die M�glichkeit f�r schlankes Programmieren. Allerdings wird dies mit einer erh�hten Fehleranf�lligkeit bei unsauberem Programmieren erkauft. Angenommen: if ($_POST['formularwert'] == 0) include '/pfad/wert0.php'; else if ($_POST['formularwert'] > 0) include '/pfad/berechneErgebnis.php else if ($_POST['formularwert'] < 0) include '/pfad/hinweis.php else include '/pfad/startseite_mit_formular.php'; Beim Lesen dieses Codest�ckes geht man leicht davon aus, dass solange kein Formular gesandt wurde '/pfad/startseite.php' geladen wird. Da undefined aber einfach gleich 0 ist, wird das Formular nie angezeigt. Hier ist das leicht zu erkennen, aber in einem komplexeren Programm und einer anderen Situation (z.B. wenn Du in Code von anderen arbeitest, den Du Dir aus Zeitgr�nden nicht ganz durchlesen kannst) kann dies leicht zu �bersehen sein und dann k�nnen im Extremfall schon mal 1-2 Stunden f�r die Fehlersuche drauf gehen. Wenn Du dann nicht nach Stunden, sondern nach Ergebnis bezahlt wirst, hast Du wertvolle Lebenszeit in den Sand gesetzt. Die Notice-Fehlermeldung, wenn Du nicht pr�fst (oder der f�r das Codefragment Verantwortliche es nicht getan hat), hilft Dir dabei, dass es nicht soweit kommt. Gru� -- Thomas Koudela Programmierdienstleistungen von A bis Web Mozartstra�e 6 D-45529 Hattingen +49 (0)2324 392320 www.koudela.net
php::bar PHP Wiki - Listenarchive