Derick Rethans has posted just a few of the reasons why the "shut-up operator" (the @ symbol) should be avoided at all costs in your PHP applications.
The @-operator is often used to silence errors in noisy PHP functions—functions that generate warnings that can not be easily prevented. [...] In those cases, there is no way how to check up-front whether the function call will not issue a warning when being called.
There are side effects to using the operator, however, including hiding legitimate errors and making debugging that much more difficult. To back up his point, he includes four other reasons to avoid the operator's use (besides the debugging issues):
- It's slow (part 1)
- It's slow (part 2)
- It's slow (part 3: It generates crappier code)
- Apfelstrudels were harmed (related to the strudel_token in the C code for the operator)