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