PHP supports one error control operator: the at sign (@). When
    prepended to an expression in PHP, any error messages that might
    be generated by that expression will be ignored.
   
    If the track_errors
    feature is enabled, any error message generated by the expression
    will be saved in the variable
    $php_errormsg.
    This variable will be overwritten on each error, so check early if you
    want to use it.
   
    
   Note: 
     The @-operator works only on
     expressions. A simple rule
     of thumb is: if you can take the value of something, you can prepend
     the @ operator to it. For instance, you can prepend it to variables,
     function and include() calls, constants, and
     so forth. You cannot prepend it to function or class definitions,
     or conditional structures such as if and
     foreach, and so forth.
    
    See also error_reporting() and the manual section for
    Error Handling and Logging functions.
   
| Warning | 
     Currently the "@" error-control operator prefix will even disable
     error reporting for critical errors that will terminate script
     execution. Among other things, this means that if you use "@" to
     suppress errors from a certain function and either it isn't
     available or has been mistyped, the script will die right there
     with no indication as to why.
      |