Error Suppression Operator (@) as a shortcut for isset(). Bad Practice?
I've read a lot that using the error suppression operator (@) in production PHP code is a bad practice or a sign of poor or inefficient coding.

I've recently come across a set of code that uses the error suppression sort of as a shortcut for determining if a variable is set or not (isset()). Take the following example:

    if ( isset($_SESSION) && isset($_SESSION['myVariable']) && $_SESSION['myVariable'] == true )
      echo "myVariable is True!";

This code could be easily simplified by using the error suppression operator:

    if ( @$_SESSION['myVariable'] == true )
      echo "myVariable is True!";

It appears to work exactly the same. It's written more efficiently and it's easier to read since you don't have to check if the variable(s) is set or not.

Is considered bad practice or a bad idea/approach for some reason?
Error Suppression Operator (@) as a shortcut for isset(). Bad Practice?
===

I've read a lot that using the error suppression operator (@) in production PHP code is a bad practice or a sign of poor or inefficient coding.

I've recently come across a set of code that uses the error suppression sort of as a shortcut for determining if a variable is set or not (isset()). Take the following example:

    if ( isset($_SESSION) && isset($_SESSION['myVariable']) && $_SESSION['myVariable'] == true )
      echo "myVariable is True!";

This code could be easily simplified by using the error suppression operator:

    if ( @$_SESSION['myVariable'] == true )
      echo "myVariable is True!";

It appears to work exactly the same. It's written more efficiently and it's easier to read since you don't have to check if the variable(s) is set or not.

Is considered bad practice or a bad idea/approach for some reason?