使用@(at)运算符是个坏主意吗?

时间:2013-05-17 12:00:00

标签: php

写作:

$name = @$_GET['name'];

而不是:

$name = isset($_GET['name']) ? $_GET['name'] : null;

是一些糟糕的编码习惯吗?我可以将@用作普通算子或仅在某些特定情况下使用吗?

1 个答案:

答案 0 :(得分:5)

是的,使用@运算符被视为不良做法。

有证据表明它具有性能影响。

此外,压制错误信息是不良做法的标志;你应该编写你的代码以期待错误并在防御上处理它们。简单地吞下@符号后面的错误意味着您的代码永远不会知道错误发生,也不知道错误实际是什么;这通常会在您的代码中导致更多问题。

在某些情况下,使用@是不可避免的,但这不是其中之一,所以你应该避免这样做。