写作:
$name = @$_GET['name'];
而不是:
$name = isset($_GET['name']) ? $_GET['name'] : null;
是一些糟糕的编码习惯吗?我可以将@用作普通算子或仅在某些特定情况下使用吗?
答案 0 :(得分:5)
是的,使用@
运算符被视为不良做法。
有证据表明它具有性能影响。
此外,压制错误信息是不良做法的标志;你应该编写你的代码以期待错误并在防御上处理它们。简单地吞下@
符号后面的错误意味着您的代码永远不会知道错误发生,也不知道错误实际是什么;这通常会在您的代码中导致更多问题。
在某些情况下,使用@
是不可避免的,但这不是其中之一,所以你应该避免这样做。