Es unterdrückt alle Fehler, die sonst ausgegeben werden könnten.
Es ist ein Rezept für Schmerz und Not ist, da es unweigerlich zu Schwierigkeiten führt, wenn ein Fehler auftritt, sind Sie verpflichtet, die Ursache zu verbringen Stunden aufzuspüren. Wenn der Operator @ nicht verwendet worden wäre, wäre der Fehler in Sekunden gefunden worden.
Es gibt keinen Grund, es zu verwenden, verwenden Sie die Einstellungen in display_errors und error_log ini, um zu verhindern, dass Fehler auf einer Live-Site angezeigt werden, und lassen Sie sie auf Ihrer Dev-Site anzeigen.
Wenn es einen Fehler gibt, die Sie nicht wollen, um zu sehen, du bist besser dran, nur es zu reparieren, als es zu unterdrücken!
Wenn es etwas in einem externen lib und außerhalb Ihrer Kontrolle ist, schreiben Sie es einfach in die Protokolle, schalten Sie display_errors auf die Produktion, und mit ihr leben. Denn es ist nicht abzusehen, ob der Fehler Sie unterdrücken jetzt und sind glücklich zu leben wird immer der Fehler, die von dort ausgelöst.
@ === BAD
Nun faul ... Lassen Sie uns sagen, es ist sehr nützlich für eine "einmal ausgeführt, wegzuwerfen" Skript. In jedem Fall ist es eine schlechte Übung. –
Es ist sehr nützlich, Fehlermeldungen zu unterdrücken, wenn Sie ansonsten einen Fehlerhandler haben. – eyelidlessness
"Es wird normalerweise von faulen Programmierern verwendet, die Fehlercodes nicht überprüfen wollen" - Völlig falsch. @ ist genau, wie PHP seinen "Versuch/Fang" macht http://www.php.net/manual/en/language.operators.errorcontrol.php – Havenard