Avatar ·

Wozu wird das @-Symbol (Affe) in PHP benötigt und wie funktioniert die Fehlerunterdrückung?

Hallo zusammen! Ich habe gerade angefangen, PHP zu lernen, und sehe oft in fremdem Code ein seltsames @-Symbol vor Funktionen. Zum Beispiel: ```php $file = @fopen('config.php', 'r'); $data = @file_get_contents('http://api.example.com'); @$result = someFunction(); ``` Ich verstehe, dass es irgendwie mit Fehlern zusammenhängt, aber ich bin mir nicht ganz sicher. Wenn ich Code ohne @ schreibe, erscheinen bei Zugriff auf eine nicht vorhandene Datei oder bei Netzwerkproblemen Warnungen (warnings) und fatale Fehler. Mit @ verschwinden die Fehler. Aber das kann doch keine richtige Lösung sein, oder? Ich habe mehrere Fragen: 1. Wie genau funktioniert der @-Operator? Unterdrückt er alle Fehler oder nur bestimmte Typen? 2. Warum kritisieren viele erfahrene Entwickler @ und raten davon ab, es zu verwenden? 3. Gibt es normale Alternativen, um Fehler zu behandeln, ohne sie zu unterdrücken? Bitte geben Sie Beispiele, wann @ wirklich notwendig ist und wann es eine schlechte Praxis ist. Vielen Dank im Voraus! <<>>

Wie der @-Operator in PHP funktioniert