» Error Reporting @PHP (0 Kommentare) 14.02.2010 - 09:55 Uhr
Derzeit arbeite ich verstärkt an einem neuen Release der Internetseite www.happy-security.de und schreibe den kompletten Code auf OOP um. Dies kosten viel Zeit, hilft jedoch später neue Module einzupflegen und kleine Änderungen systemweit durchführen zu können.
Hierbei kann man natürlich auch neue Erkenntnisse in die Entwicklung mit einbringen, die man mal nebenbei aufgeschnappt hat. Hatte eine foreach() Struktur z.B. früher keinen Durchlauf machen können, weil das Array leer war, gab es eine Fehlermeldung. Diese kann leicht mit dem @-Operator vor der Funktion unterdrückt werden.
@foreach($liste AS $item) {
echo $item;
}
Dies ist jedoch durch die Arbeitsweise des @-Operators ein ziemlich lahmes Unterfangen. Der Preprocessor wandelt diesen obigen Code nämlich in folgendes Gebilde um:
$rep_status = ini_set('error_reporting',0);
foreach($liste AS $item) {
echo $item;
}
ini_set('error_reporting',$rep_status);
Wie man hier sieht, wird jedes mal, wenn der @-Operator eingesetzt wird, mittels ini_set die eigentlich globale Einstellung angepasst und nach der Funktion wieder zurückgesetzt. Wenn man sein Script in einem Produktivsystem laufen lässt, sollte man daher also lieber am Anfang des Script das error_reporting auf 0 setzen oder in der php.ini abändern, anstatt auf den @-Operator zurückzugreifen.
Dies bringt zwar nun einen kleinen Performance-Schub, aber Kleinvieh macht ja bekanntlich auch Mist. Ihre Hardware-Resourcen werden es Ihnen danken ;)








